
:root{
  --blue:#0d4bc4;
  --blue2:#073aa3;
  --navy:#0f1832;
  --gold:#e7a600;
  --gold2:#f4bd2a;
  --text:#11172d;
  --muted:#616a7a;
  --soft:#f5f8ff;
  --line:#e7ebf2;
  --white:#fff;
  --shadow:0 16px 45px rgba(22,46,94,.10);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1220px,calc(100% - 42px));margin:auto}

header{position:sticky;top:0;z-index:1000;
  background:linear-gradient(90deg,#1b45b7,var(--blue));
  color:#fff;box-shadow:0 5px 18px rgba(7,58,163,.16)}
.nav{min-height:86px;display:flex;align-items:center;gap:28px}
.brand{margin-right:auto;color:#fff;display:flex;align-items:center;font-weight:900;font-size:27px}
.brand-mark{font-family:Georgia,serif;font-size:42px;line-height:.8;margin-right:12px;position:relative}
.brand-mark:after{content:"";position:absolute;left:0;right:-6px;bottom:-7px;height:4px;background:var(--gold);border-radius:50%}
.brand-text{font-size:17px;letter-spacing:.24em}
.menu{display:flex;align-items:center;gap:29px;font-size:14px;font-weight:700}
.menu a{position:relative}
.menu a:hover,.menu a.active{color:#fff}
.menu a:hover:after,.menu a.active:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:3px;background:var(--gold);border-radius:4px}
.nav-cta{margin-left:12px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#171717;padding:14px 19px;border-radius:11px;font-weight:900}

.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfcff)}
.hero:after{content:"";position:absolute;right:-115px;top:-155px;width:420px;height:690px;background:linear-gradient(155deg,transparent 0 43%,var(--gold) 43% 48%,#fff 48% 53%,var(--blue) 53% 100%);transform:skewX(-8deg)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr 1.1fr;align-items:center;gap:36px;min-height:560px;padding:68px 0 40px}
.eyebrow{color:var(--gold);font-weight:900;letter-spacing:.17em;font-size:13px;margin-bottom:16px}
h1{font-size:clamp(46px,5.6vw,76px);line-height:.98;letter-spacing:-.045em;margin:0}
h1 .blue{color:var(--blue)}
.lead{max-width:610px;color:var(--muted);font-size:17px;line-height:1.65;margin:22px 0 28px}
.actions{display:flex;gap:15px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:10px;font-weight:900;border:2px solid var(--blue);transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--blue);color:#fff}.btn-outline{background:#fff;color:var(--blue)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#111}

.hero-art{position:relative;min-height:400px}
.orb{position:absolute;inset:20px 35px 35px 40px;border-radius:50%;background:radial-gradient(circle at 42% 36%,#fff 0 18%,#ecf3ff 19% 43%,#d4e2ff 44% 58%,transparent 59%)}
.gold-swoosh{position:absolute;right:0;bottom:55px;width:430px;height:170px;border:18px solid var(--gold);border-left-color:transparent;border-top-color:transparent;border-radius:50%;transform:rotate(-7deg);opacity:.9}
.device-card{position:absolute;background:#111;border:8px solid #232323;border-radius:16px;box-shadow:0 22px 36px rgba(0,0,0,.18)}
.device-card:before{content:"";position:absolute;inset:8px;border-radius:8px;background:linear-gradient(135deg,#0c4bc5,#112354 48%,#e7a600 100%)}
.laptop-box{width:360px;height:210px;left:0;bottom:65px}
.laptop-box:after{content:"";position:absolute;left:-28px;right:-28px;bottom:-22px;height:22px;background:linear-gradient(#aeb5c2,#747d8c);clip-path:polygon(6% 0,94% 0,100% 100%,0 100%)}
.tablet-box{width:205px;height:275px;right:110px;top:30px}.phone-box{width:105px;height:210px;right:98px;bottom:38px;background:#d8dde8;border-color:#c8ced8}
.phone-box:before{background:linear-gradient(145deg,#7ec3ff,#dbefff)}.console-box{width:78px;height:275px;right:18px;top:50px;background:#f2f5fb;border:0}
.console-box:before{background:linear-gradient(90deg,#fff,#dce6ff)}.watch-box{width:68px;height:88px;right:160px;bottom:25px;border-radius:19px;border:5px solid #222}
.watch-box:before{background:radial-gradient(circle,#1b2e5d,#000)}

.section{padding:78px 0}
.section-soft{background:var(--soft)}
.section-head{text-align:center;max-width:740px;margin:0 auto 42px}
.kicker{color:var(--gold);font-weight:900;letter-spacing:.12em;font-size:13px;text-transform:uppercase}
.section-head h2{font-size:42px;margin:10px 0 12px;letter-spacing:-.035em}
.section-head p{color:var(--muted);line-height:1.7;margin:0}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:var(--shadow)}
.card-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#edf3ff;color:var(--blue);font-size:24px;margin-bottom:16px}
.card h3{margin:0 0 8px}.card p{margin:0;color:var(--muted);line-height:1.65}

.product-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.product-visual{height:210px;background:linear-gradient(145deg,#edf4ff,#fff6dc);display:grid;place-items:center;font-size:78px;position:relative}
.product-badge{position:absolute;top:13px;left:13px;background:var(--blue);color:#fff;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}
.product-info{padding:18px}.product-info h3{margin:0 0 6px}.product-info p{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 14px}
.link{color:var(--blue);font-weight:900;font-size:13px}

.page-hero{background:linear-gradient(90deg,#f7faff,#fff);padding:70px 0;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:54px}.page-hero p{max-width:700px;color:var(--muted);line-height:1.7;font-size:17px}

.value-wrap{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;background:var(--navy);color:#fff;padding:42px;border-radius:24px}
.value-wrap p{color:#c8d3ec;line-height:1.7}.quote-box{background:#fff;color:var(--text);border-radius:18px;padding:24px}
.quote-box label{display:block;font-size:13px;font-weight:800;margin:0 0 7px}.quote-box input,.quote-box select,.quote-box textarea{width:100%;border:1px solid #dfe4ed;border-radius:9px;padding:12px 13px;margin-bottom:13px;font:inherit}
.quote-box button{width:100%;min-height:48px;border:0;border-radius:9px;background:var(--gold);font-weight:900}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step{text-align:center;padding:26px}.num{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;margin:0 auto 14px}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-list{display:grid;gap:14px}

footer{background:linear-gradient(90deg,#073aa3,#0d4bc4);color:#fff;padding:38px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr;gap:28px}.footer-grid h4{margin:0 0 12px}.footer-grid p,.footer-grid a{color:#e5edff;font-size:13px;line-height:1.8}
.footer-logo{font-family:Georgia,serif;font-size:52px;font-weight:700;position:relative;display:inline-block}.footer-logo:after{content:"";position:absolute;left:0;right:-8px;bottom:0;height:5px;background:var(--gold);border-radius:50%}
.copyright{border-top:1px solid rgba(255,255,255,.18);margin-top:26px;padding-top:15px;text-align:center;font-size:12px;color:#d7e2ff}

@media(max-width:980px){
 .menu{display:none}.hero-grid,.value-wrap,.contact-grid{grid-template-columns:1fr}.hero-art{min-height:360px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
 .container{width:min(100% - 26px,1220px)}.nav{min-height:72px}.brand-text{display:none}.nav-cta{font-size:12px;padding:11px 13px}
 h1{font-size:46px}.page-hero h1{font-size:42px}.grid-4{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}
 .laptop-box{width:250px;height:150px}.tablet-box{width:145px;height:205px;right:70px}.phone-box{width:74px;height:150px;right:64px}.console-box{width:55px;height:200px}
}


/* ===== Header Icons + Mobile Menu Update ===== */
.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:10px;
}
.icon-btn{
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  color:#fff;
  display:grid;
  place-items:center;
  border-radius:10px;
  cursor:pointer;
  transition:.2s ease;
}
.icon-btn:hover{
  background:rgba(255,255,255,.12);
}
.icon-btn svg{
  width:21px;
  height:21px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mobile-toggle{
  display:none;
}
.mobile-menu{
  display:none;
  background:linear-gradient(180deg,var(--blue2),var(--blue));
  border-top:1px solid rgba(255,255,255,.12);
}
.mobile-menu.open{
  display:block;
}
.mobile-menu .mobile-menu-inner{
  width:min(1220px,calc(100% - 42px));
  margin:auto;
  padding:12px 0 18px;
  display:grid;
  gap:4px;
}
.mobile-menu a{
  color:#fff;
  padding:13px 10px;
  border-radius:9px;
  font-weight:700;
  font-size:15px;
}
.mobile-menu a:hover{
  background:rgba(255,255,255,.10);
}
.mobile-menu .mobile-cta{
  margin-top:7px;
  background:var(--gold);
  color:#111;
  text-align:center;
}

@media(max-width:980px){
  .menu{display:none}
  .header-actions{
    margin-left:auto;
  }
  .mobile-toggle{
    display:grid;
  }
  .nav-cta{
    display:none;
  }
}
@media(max-width:640px){
  .header-actions{gap:2px}
  .icon-btn{width:36px;height:36px}
  .icon-btn svg{width:19px;height:19px}
}


/* ===== JJLufen V3: real brand logo + premium product photography ===== */
.brand{
  min-width:138px;
}
.brand img{
  width:118px;
  height:64px;
  object-fit:contain;
  object-position:left center;
}
.footer-brand-image{
  width:145px;
  height:95px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:10px;
}
.hero-art.real-photo{
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-art.real-photo::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(13,75,196,.10),rgba(231,166,0,.06) 46%,transparent 70%);
}
.hero-art.real-photo img{
  position:relative;
  z-index:2;
  width:118%;
  max-width:760px;
  filter:drop-shadow(0 28px 30px rgba(15,24,50,.18));
}
.real-product{
  height:220px;
  background:
    radial-gradient(circle at 50% 42%,rgba(13,75,196,.09),transparent 48%),
    linear-gradient(180deg,#fbfdff,#f3f7ff);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  position:relative;
}
.real-product img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:12px;
  filter:drop-shadow(0 16px 18px rgba(15,24,50,.12));
}
.real-product .product-badge{
  z-index:3;
}
@media(max-width:980px){
  .brand img{width:108px;height:60px}
  .hero-art.real-photo{min-height:390px}
  .hero-art.real-photo img{width:100%;max-width:680px}
}
@media(max-width:640px){
  .brand{min-width:auto}
  .brand img{width:88px;height:52px}
  .hero-art.real-photo{min-height:310px}
  .hero-art.real-photo img{width:112%}
  .real-product{height:190px}
}

/* ===== Header logo size correction ===== */
header .brand{
  flex:0 0 130px !important;
  width:130px !important;
  min-width:130px !important;
  max-width:130px !important;
  margin-right:auto !important;
  overflow:hidden;
}
header .brand img{
  display:block !important;
  width:112px !important;
  height:68px !important;
  max-width:112px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto !important;
}
.nav{
  min-height:82px !important;
}
@media(max-width:980px){
  header .brand{
    flex-basis:104px !important;
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
  }
  header .brand img{
    width:92px !important;
    max-width:92px !important;
    height:58px !important;
  }
}
@media(max-width:640px){
  header .brand{
    flex-basis:88px !important;
    width:88px !important;
    min-width:88px !important;
    max-width:88px !important;
  }
  header .brand img{
    width:78px !important;
    max-width:78px !important;
    height:50px !important;
  }
}
