*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* ============ TOKENS & BASE ============ */
:root {
  --green: #00B14F; --green-dark: #008A3C; --green-light: #E8F9EF;
  --orange: #F7941D; --orange-dark: #D97B0D;
  --dark: #0A0F0D; --dark2: #111915;
  --gray: #6B7280; --gray-light: #F4F6F5;
  --zalo: #0068FF; --zalo-dark: #0051CC; --zalo-light: #EEF4FF;
  --radius: 16px;
  --shadow: 0 4px 24px rgba(0,0,0,0.08);
  --shadow-lg: 0 12px 48px rgba(0,0,0,0.14);
}
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 76px; }
html { overflow-x:hidden; }
body { font-family:'Manrope',sans-serif; background:#fff; color:#1a1a1a; overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.s-divider { height:1px; background:linear-gradient(90deg,transparent,#E5E7EB,transparent); }

.reveal { opacity:0; transform:translateY(40px); transition:opacity 0.75s cubic-bezier(0.25,0.46,0.45,0.94), transform 0.75s cubic-bezier(0.25,0.46,0.45,0.94); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-40px); transition:opacity 0.75s ease, transform 0.75s ease; }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(40px); transition:opacity 0.75s ease, transform 0.75s ease; }
.reveal-right.visible { opacity:1; transform:translateX(0); }

.section-label { display:inline-flex; align-items:center; gap:8px; background:var(--green-light); color:var(--green); padding:6px 16px; border-radius:50px; font-size:13px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; margin-bottom:20px; }
.section-title { font-size:clamp(28px,4vw,48px); font-weight:800; line-height:1.15; color:#0A0F0D; }
.section-title span { color:var(--green); }
.section-sub { font-size:17px; color:var(--gray); margin-top:16px; line-height:1.7; max-width:600px; }

.btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--green); color:#fff; padding:14px 28px; border-radius:50px; font-weight:600; font-size:15px; transition:all 0.25s; cursor:pointer; border:none; font-family:inherit; }
.btn-primary:hover { background:var(--green-dark); transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,177,79,0.35); }
.btn-orange { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,var(--orange),#E07B10); color:#fff; padding:16px 36px; border-radius:50px; font-weight:700; font-size:16px; transition:all 0.25s; cursor:pointer; border:none; font-family:inherit; }
.btn-orange:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(247,148,29,0.4); }
.btn-outline-light { display:inline-flex; align-items:center; gap:8px; background:transparent; color:#fff; padding:16px 36px; border-radius:50px; font-weight:700; font-size:16px; transition:all 0.25s; cursor:pointer; border:1.5px solid rgba(255,255,255,0.35); font-family:inherit; }
.btn-outline-light:hover { border-color:#fff; background:rgba(255,255,255,0.08); transform:translateY(-2px); }



/* NAV */

/* ============ NAV ============ */
nav { position:fixed; top:0; left:0; right:0; z-index:200; transition:background 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease; }
nav.scrolled { background:rgba(6,12,8,0.92); backdrop-filter:blur(24px) saturate(1.4); border-bottom:1px solid rgba(0,177,79,0.12); box-shadow:0 4px 32px rgba(0,0,0,0.4), 0 1px 0 rgba(0,177,79,0.08); }
.nav-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:72px; padding:0 24px; transition:height 0.4s ease; }
nav.scrolled .nav-inner { height:60px; }
nav.scrolled .nav-logo img { filter:brightness(1.1); }
.nav-logo img { height:36px; }
.nav-links { display:flex; align-items:center; gap:4px; list-style:none; }
.nav-links li a { color:rgba(255,255,255,0.65); font-size:14px; font-weight:500; padding:8px 14px; border-radius:8px; transition:all 0.2s; display:block; }
.nav-links li a:hover { color:#fff; background:rgba(255,255,255,0.08); }
.nav-links li a.active { color:#fff; background:rgba(0,177,79,0.28); font-weight:700; }
.nav-links li a.nav-cta { background:var(--green); color:#fff!important; border-radius:50px; padding:10px 22px; }
.nav-links li a.nav-cta:hover { background:var(--green-dark); }
.nav-menu-btn { display:none; background:none; border:none; cursor:pointer; color:#fff; font-size:24px; }
.mobile-nav { display:none; position:fixed; top:72px; left:0; right:0; z-index:199; background:rgba(10,15,13,0.97); backdrop-filter:blur(20px); padding:16px 24px 24px; flex-direction:column; gap:4px; border-bottom:1px solid rgba(255,255,255,0.08); }
.mobile-nav.open { display:flex; }
.mobile-nav a { color:rgba(255,255,255,0.8); font-size:15px; font-weight:500; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.06); }

/* HERO */

/* ============ HERO ============ */
#hero { min-height:100vh; background:url('assets/images/hero-image.webp') center center/cover no-repeat; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; padding:100px 24px 120px; }
#hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,14,8,0.75) 0%,rgba(4,14,8,0.4) 60%,rgba(0,0,0,0.1) 100%); pointer-events:none; z-index:0; }
.hero-inner { display:flex; flex-direction:column; align-items:flex-start; width:100%; max-width:1200px; margin:0 auto; position:relative; z-index:1; }
.hero-left { display:flex; flex-direction:column; align-items:flex-start; text-align:left; max-width:600px; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(0,177,79,0.15); border:1px solid rgba(0,177,79,0.3); color:#4ADE80; padding:8px 18px; border-radius:50px; font-size:13px; font-weight:600; letter-spacing:0.05em; margin-bottom:32px; position:relative; z-index:1; animation:fadeUp 0.8s ease both; }
.hero-badge-dot { width:7px; height:7px; border-radius:50%; background:#4ADE80; animation:pulse 2s infinite; }
.hero-title { font-size:clamp(36px,4.5vw,68px); font-weight:900; line-height:1.08; color:#fff; position:relative; z-index:1; animation:fadeUp 0.9s ease 0.15s both; }
.hero-title .hl { background:linear-gradient(135deg,#00B14F,#4ADE80,#F7941D); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-sub { font-size:clamp(13px,1.3vw,17px); color:rgba(255,255,255,0.7); margin-top:20px; max-width:none; line-height:1.7; position:relative; z-index:1; animation:fadeUp 0.9s ease 0.3s both; white-space:nowrap; overflow:visible; }
.hero-btns { display:flex; gap:14px; justify-content:flex-start; flex-wrap:wrap; margin-top:36px; position:relative; z-index:1; animation:fadeUp 0.9s ease 0.45s both; }
.hero-btns .btn-primary { font-size:16px; padding:16px 32px; }


.hero-stats { display:flex; gap:32px; flex-wrap:wrap; position:relative; z-index:1; animation:fadeUp 0.9s ease 0.6s both; margin-top:48px; }
.hero-stat-num { font-size:28px; font-weight:900; color:#fff; }
.hero-stat-num span { color:#fff; }
.hero-stat-label { font-size:12px; color:rgba(255,255,255,0.5); margin-top:2px; text-transform:uppercase; letter-spacing:0.05em; }
.stat-sep { width:1px; background:rgba(255,255,255,0.12); align-self:stretch; }


.hero-brand-bar { width:100%; position:absolute; bottom:0; left:0; z-index:3; display:flex; align-items:stretch; overflow:hidden; }
.hero-brand-half { flex:1; overflow:hidden; display:flex; align-items:center; position:relative; }



.hero-brand-label { padding:14px 28px; display:flex; align-items:center; justify-content:center; text-align:center; white-space:nowrap; flex-shrink:0; }
.hero-brand-label span { font-size:12px; font-weight:700; color:#fff; line-height:1.5; text-transform:uppercase; letter-spacing:0.06em; }
.hero-ticker-row { display:flex; gap:28px; width:max-content; align-items:center; padding:10px 0; will-change:transform; transform:translateZ(0); backface-visibility:hidden; }
.hero-ticker-row-left { animation:tickerL 32s linear infinite; }
.hero-ticker-row-right { animation:tickerR 32s linear infinite; }

.hero-ticker-logo { height:26px; width:auto; max-width:80px; object-fit:contain; flex-shrink:0; display:block; }
.ticker-row { display:flex; width:max-content; gap:12px; }
.ticker-row:hover { animation-play-state:paused; }

/* WAVE DIVIDER */
.section-wave-divider { position:relative; z-index:10; margin-bottom:-2px; line-height:0; }
.section-wave-divider svg { width:100%; height:80px; display:block; }

/* WHY — white bg */

/* ============ WHY (Why GiftZone) ============ */
#why { padding:72px 24px 64px; background:#fff; position:relative; overflow:hidden; }
.why-header { text-align:center; margin-bottom:64px; }
.why-header .section-label { background:rgba(0,104,255,0.08); color:var(--zalo); }
.why-header .section-title { color:#111; }
.why-header .section-sub { color:#555; max-width:700px; margin:0 auto; }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pillar-card { border:1px solid #e5e7eb; border-radius:var(--radius); padding:36px 28px; position:relative; overflow:hidden; transition:all 0.3s; background:#fff; }
.pillar-card.pillar-featured { background:var(--zalo); border-color:var(--zalo); }
.pillar-card:hover:not(.pillar-featured) { border-color:#d1d5db; box-shadow:0 8px 32px rgba(0,0,0,0.08); transform:translateY(-4px); }
.pillar-title { font-size:20px; font-weight:800; margin-bottom:12px; color:#111; }
.pillar-featured .pillar-title { color:#fff; }
.pillar-sub { font-size:14px; color:#555; line-height:1.7; }
.pillar-featured .pillar-sub { color:rgba(255,255,255,0.85); }
.flow-tag { padding:10px 20px; border-radius:50px; background:rgba(0,104,255,0.08); color:var(--zalo); border:1px solid rgba(0,104,255,0.2); font-size:14px; font-weight:700; }
.flow-arrow { color:#ccc; font-size:18px; }
/* HOW section (slide 3) */

/* ============ HOW (How it works) ============ */
#how { padding:64px 24px; background:#fff; }
.how-header { text-align:center; margin-bottom:64px; }
.how-title-own { color:#ff6900; }
.how-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.how-card { border-radius:20px; overflow:hidden; display:flex; flex-direction:column; transition:transform 0.3s; }
.how-card:hover { transform:translateY(-6px); }
.how-card-body { padding:24px 24px 20px; flex:0 0 auto; position:relative; }
.how-card-num { position:absolute; top:16px; right:20px; font-size:52px; font-weight:900; color:rgba(0,0,0,0.12); line-height:1; letter-spacing:-2px; }
.how-card-title { font-size:18px; font-weight:800; color:#111; margin-bottom:10px; line-height:1.35; margin-top:8px; }
.how-card-desc { font-size:13px; color:#444; line-height:1.7; }
.how-card-img { background:#fafefc; flex:1; display:flex; align-items:flex-end; overflow:hidden; border-radius:12px; margin:0 12px 12px; }
.how-card-img img { width:100%; display:block; object-fit:contain; max-height:260px; border-radius:12px; }
.how-flow { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:52px; flex-wrap:wrap; }
.how-flow-tag { font-size:22px; font-weight:700; color:#111; }
.how-flow-arrow { color:#ff6900; font-size:24px; font-weight:700; }

/* NETWORK section (slide 4) */

/* ============ NETWORK (Solutions) ============ */
#network { position:relative; overflow:hidden; max-height:46vw;
  box-shadow: 0 -24px 60px rgba(0,0,0,0.10), 0 24px 60px rgba(0,0,0,0.10); }
.network-bg { display:block; width:100%; line-height:0; }
.network-bg img { width:100%; height:auto; display:block; }
.network-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.80) 40%, rgba(255,255,255,0.1) 100%); }
.network-inner { position:absolute; inset:0; display:flex; align-items:center; z-index:2; }
.network-content { max-width:1200px; margin:0 auto; padding:0 48px; width:100%; }
.network-left { max-width:560px; }
.network-title { font-size:clamp(28px,3.6vw,48px); font-weight:900; line-height:1.25; color:#111; }
.network-title-orange { color:#ff6900; display:block; }

/* MINIAPP section (slide 5) */

/* ============ MINI APP ============ */
#miniapp { background:linear-gradient(160deg,#ffffff 0%,#dff2e9 40%,#c8ebd8 70%,#dff2e9 100%); padding:64px 48px 100px; }
.miniapp-body { max-width:1200px; margin:0 auto; }
.miniapp-inner { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.miniapp-title { font-size:clamp(28px,3vw,46px); font-weight:900; line-height:1.15; color:#111; margin-bottom:4px; }
.miniapp-title span { color:var(--orange); }
.miniapp-subtitle { font-size:clamp(22px,2.4vw,38px); font-weight:900; color:var(--orange); line-height:1.15; margin-bottom:14px; }
.miniapp-desc { font-size:14px; color:#444; line-height:1.7; margin-bottom:28px; padding-bottom:22px; border-bottom:1.5px solid rgba(0,0,0,0.1); }
.miniapp-features { display:flex; flex-direction:column; gap:22px; }
.miniapp-feat { display:flex; align-items:flex-start; gap:14px; }
.miniapp-feat-icon { width:50px; height:50px; border-radius:50%; background:#c5e8d4; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.miniapp-feat-icon svg { width:24px; height:24px; }
.miniapp-feat-text strong { display:block; font-size:15px; font-weight:700; color:#00913e; margin-bottom:4px; }
.miniapp-feat-text span { font-size:13px; color:#555; line-height:1.6; font-style:italic; }
.miniapp-right { display:flex; align-items:flex-end; justify-content:center; }
.miniapp-img-wrap { width:100%; }
.miniapp-img-wrap img { width:100%; height:auto; display:block; }
/* MINIAPP stats bar */
.miniapp-stats { display:grid; grid-template-columns:repeat(3,1fr); margin-top:32px; background:rgba(255,255,255,0.6); border-radius:16px; overflow:hidden; border:1px solid rgba(0,177,79,0.15); backdrop-filter:blur(8px); }
.miniapp-stat { padding:24px 20px; display:flex; align-items:center; gap:16px; border-right:1px solid rgba(0,177,79,0.12); }
.miniapp-stat:last-child { border-right:none; }
.miniapp-stat-icon { width:48px; height:48px; border-radius:50%; background:#c5e8d4; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.miniapp-stat-icon svg { width:22px; height:22px; }
.miniapp-stat-val { font-size:16px; font-weight:700; color:#00b150; line-height:1.2; margin-bottom:3px; }
.miniapp-stat-val.orange { color:#ff6900; }
.miniapp-stat-label { font-size:12px; color:#2d6b40; line-height:1.5; font-weight:500; }

/* ECOSYSTEM section (slide 6) */

/* ============ ECOSYSTEM / PARTNERS ============ */
#ecosystem { padding:64px 32px 56px; background:#f7fdf9; }
.eco-wrap { max-width:1280px; margin:0 auto; }
.eco-header { margin-bottom:40px; }
.eco-header h2 { font-size:clamp(32px,4vw,56px); font-weight:900; color:#111; line-height:1.15; margin-bottom:10px; }
.eco-header h2 span { color:#ff6900; }
.eco-header p { font-size:16px; color:#444; }
.eco-header p strong { color:#00b150; font-weight:600; }
.eco-cols { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
/* stat badge */
.eco-col-header { display:flex; align-items:flex-start; gap:16px; margin-bottom:16px; }
.eco-badge { background:#00b150; color:#fff; font-size:28px; font-weight:900; border-radius:14px; width:64px; height:64px; display:flex; align-items:center; justify-content:center; flex-shrink:0; line-height:1; }
.eco-col-title { font-size:17px; font-weight:800; color:#111; line-height:1.3; margin-bottom:4px; }
.eco-col-sub { font-size:13px; color:#00b150; font-weight:600; }
/* category box */
.eco-cat { border:1.5px solid #d0e8d8; border-radius:14px; padding:14px 16px; background:#fff; }
.eco-cat-title { font-size:11px; font-weight:700; color:#555; text-align:center; margin-bottom:8px; padding-bottom:6px; border-bottom:1.5px solid #e8f5ee; }
/* logo grid — auto columns via CSS var set by JS */
.eco-logo-grid { display:grid; grid-template-columns:repeat(var(--cols,4), 1fr); gap:5px; }
.eco-logo-item { display:flex; align-items:center; justify-content:center; padding:4px; }
.eco-logo-item img { max-width:100%; max-height:44px; width:auto; height:auto; object-fit:contain; display:block; }
.eco-logo-text { font-size:9px; font-weight:700; color:#444; text-align:center; padding:4px; line-height:1.3; }
/* LEFT 2-col grid */
.eco-left-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
/* RIGHT layout: main (F&B + bottom row) + side column */
.eco-right-layout { display:grid; grid-template-columns:3fr 2fr; gap:10px; align-items:start; }
.eco-right-main { display:flex; flex-direction:column; gap:10px; }
.eco-right-bottom { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.eco-right-side { display:flex; flex-direction:column; gap:10px; }
.eco-side-top { display:grid; grid-template-columns:2fr 1fr; gap:10px; }
.eco-side-bottom { display:grid; grid-template-columns:1fr 1fr; gap:10px; }

/* FOOTER awards prominent */
.footer-awards-prominent { display:flex; gap:16px; margin-top:24px; flex-wrap:wrap; }
.footer-award-card { display:flex; align-items:center; gap:10px; background:rgba(247,148,29,0.1); border:1px solid rgba(247,148,29,0.25); border-radius:12px; padding:10px 16px; }
.footer-award-icon { font-size:22px; flex-shrink:0; }
.footer-award-info strong { display:block; font-size:12px; font-weight:800; color:rgba(255,255,255,0.9); }
.footer-award-info span { font-size:10px; color:rgba(255,255,255,0.45); }

/* PLATFORM */
#solutions { padding:64px 24px; background:var(--dark); }

/* INDUSTRIES — accordion panels */

/* ============ INDUSTRIES ============ */
#industries { padding:64px 24px; background:#fff; }
.ind-header { text-align:center; margin-bottom:64px; }
.industries-accordion { display:flex; gap:12px; height:520px; align-items:stretch; justify-content:center; max-width:1200px; margin:0 auto; }
.ind-panel { position:relative; border-radius:20px; overflow:hidden; cursor:pointer; flex-shrink:0;
  width:160px; transition:width 0.55s cubic-bezier(0.77,0,0.175,1); }
.ind-panel.open { width:440px; }
.ind-panel-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.ind-panel:hover .ind-panel-img { transform:scale(1.04); }
.ind-panel-overlay { position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.08) 100%);
  transition:background 0.4s; }
.ind-panel.open .ind-panel-overlay { background:linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.45) 50%, rgba(0,0,0,0.12) 100%); }
/* vertical label when collapsed — centered, not obscured */
.ind-panel-label-v { position:absolute; bottom:0; left:0; right:0; top:0;
  display:flex; align-items:flex-end; justify-content:center; padding-bottom:28px;
  pointer-events:none; transition:opacity 0.25s; }
.ind-panel-label-v span { color:#fff; font-size:13px; font-weight:800; letter-spacing:0.05em;
  white-space:nowrap; writing-mode:vertical-rl; text-orientation:mixed; transform:rotate(180deg); }
.ind-panel.open .ind-panel-label-v { opacity:0; }
/* expanded content */
.ind-panel-content { position:absolute; bottom:0; left:0; right:0; padding:28px 28px 24px;
  opacity:0; transform:translateY(12px); transition:opacity 0.3s 0.1s, transform 0.3s 0.1s; pointer-events:none; }
.ind-panel.open .ind-panel-content { opacity:1; transform:translateY(0); pointer-events:auto; }
.ind-panel-name { font-size:22px; font-weight:900; color:#fff; margin-bottom:8px; }
.ind-panel-pain { font-size:13px; color:rgba(255,255,255,0.75); margin-bottom:16px; line-height:1.55; display:flex; align-items:flex-start; gap:6px; }
.ind-panel-tags { display:flex; flex-wrap:wrap; gap:6px; }
.ind-panel-tag { padding:5px 12px; border-radius:50px; background:rgba(0,177,79,0.25); border:1px solid rgba(0,177,79,0.5); color:#4ADE80; font-size:11px; font-weight:600; }
.ind-panel-cta { display:inline-flex; align-items:center; gap:4px; color:#fff; font-size:12px; font-weight:700; margin-top:14px; opacity:0.85; }


/* ABOUT */

/* ============ ABOUT ============ */
#about { padding:64px 24px 80px; background:#fff; }
.about-intro { text-align:center; margin-bottom:72px; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-bottom:80px; }
.about-card { background:var(--gray-light); border-radius:24px; padding:40px; border:1.5px solid transparent; transition:all 0.3s; position:relative; overflow:hidden; }
.about-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; transition:opacity 0.3s; opacity:0; }
.about-card-vision::before { background:linear-gradient(90deg,var(--green),#4ADE80); }
.about-card-mission::before { background:linear-gradient(90deg,var(--orange),#FCD34D); }
.about-card:hover { border-color:#E5E7EB; box-shadow:var(--shadow-lg); }
.about-card:hover::before { opacity:1; }
.about-card-icon { width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; flex-shrink:0; }
.about-card-vision .about-card-icon { background:var(--green-light); color:var(--green); }
.about-card-mission .about-card-icon { background:rgba(247,148,29,0.12); color:var(--orange); }
.about-card-label { font-size:11px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:12px; }
.about-card-vision .about-card-label { color:var(--green); }
.about-card-mission .about-card-label { color:var(--orange); }
.about-card-title { font-size:24px; font-weight:900; margin-bottom:16px; line-height:1.2; }
.about-card-text { font-size:14px; color:var(--gray); line-height:1.8; }
.values-title { font-size:28px; font-weight:800; text-align:center; margin-bottom:40px; }
.values-title span { color:var(--green); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.value-card { background:#fff; border-radius:12px; padding:24px; border:1px solid #E5E7EB; transition:all 0.25s; display:flex; flex-direction:column; gap:14px; box-shadow:0 1px 3px rgba(0,0,0,0.06); }
.value-card:hover { border-color:#d1d5db; box-shadow:0 4px 16px rgba(0,0,0,0.08); transform:translateY(-2px); }
.value-icon { width:40px; height:40px; border-radius:8px; background:var(--green-light); display:flex; align-items:center; justify-content:center; color:var(--green); flex-shrink:0; }
.value-name { font-size:14px; font-weight:700; color:#111; }
.value-desc { font-size:11px; color:var(--gray); margin-top:4px; line-height:1.5; }
.about-awards { display:flex; justify-content:center; gap:20px; margin-top:56px; flex-wrap:wrap; }
.award-card { background:#fff; border:1px solid #E5E7EB; border-radius:16px; padding:20px 28px; text-align:center; box-shadow:var(--shadow); }
.award-icon { font-size:28px; margin-bottom:8px; }
.award-name { font-size:13px; font-weight:800; }
.award-desc { font-size:11px; color:var(--gray); margin-top:3px; }

/* CONTACT */

/* ============ CONTACT ============ */
#contact { padding:72px 24px; background:linear-gradient(135deg,#FFF5E6 0%,#FFE8CC 40%,#FFD4A3 100%); position:relative; overflow:hidden; }
#contact::before { content:''; position:absolute; top:-80px; right:-80px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(247,148,29,0.12) 0%,transparent 70%); pointer-events:none; }
#contact::after { content:''; position:absolute; bottom:-60px; left:-60px; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(0,177,79,0.08) 0%,transparent 70%); pointer-events:none; }
.contact-inner { display:grid; grid-template-columns:1fr 1.4fr; gap:80px; align-items:start; position:relative; z-index:1; }
.contact-left .section-label { background:rgba(247,148,29,0.15); color:var(--orange-dark); }
.contact-left .section-title { color:#1a1a1a; }
.contact-left .section-title span { color:var(--orange-dark); }
.contact-left .section-sub { color:#6B4423; }

.contact-form-card { background:#fff; border-radius:24px; padding:40px; box-shadow:0 20px 60px rgba(247,148,29,0.15),0 4px 16px rgba(0,0,0,0.06); }
.contact-form-title { font-size:20px; font-weight:800; color:#1a1a1a; margin-bottom:6px; }
.contact-form-sub { font-size:13px; color:var(--gray); margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.form-group label { font-size:12px; font-weight:700; color:#374151; }
.form-group label .req { color:var(--orange); }
.form-group select, .form-group input, .form-group textarea { border:1.5px solid #E5E7EB; border-radius:10px; padding:12px 14px; font-size:14px; font-family:inherit; color:#1a1a1a; background:#F9FAFB; transition:border-color 0.2s,box-shadow 0.2s,background 0.2s; outline:none; width:100%; }
.form-group select:focus, .form-group input:focus, .form-group textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(247,148,29,0.1); background:#fff; }
.form-group textarea { min-height:100px; resize:vertical; }
.form-error { font-size:11px; color:#EF4444; margin-top:2px; display:none; }
.form-group.has-error input, .form-group.has-error select, .form-group.has-error textarea { border-color:#EF4444; }
.form-group.has-error .form-error { display:block; }
.form-success-msg { display:none; text-align:center; padding:40px 20px; }
.form-success-msg .icon { font-size:48px; margin-bottom:12px; }
.form-success-msg h3 { font-size:20px; font-weight:800; margin-bottom:8px; color:var(--green); }
.form-success-msg p { font-size:13px; color:var(--gray); }

/* FOOTER */

/* ============ FOOTER ============ */
footer { background:var(--dark2); padding:72px 24px 32px; color:rgba(255,255,255,0.65); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:60px; }
.footer-brand img { height:32px; margin-bottom:16px; filter:brightness(0) invert(1); }
.footer-brand p { font-size:13px; line-height:1.7; color:rgba(255,255,255,0.45); max-width:260px; }
.footer-awards-row { display:flex; gap:8px; margin-top:20px; flex-wrap:wrap; }
.award-badge { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:8px; padding:6px 12px; font-size:10px; font-weight:700; color:rgba(255,255,255,0.5); text-transform:uppercase; letter-spacing:0.05em; }
.footer-col-title { font-size:11px; font-weight:800; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:20px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-links a { font-size:13px; color:rgba(255,255,255,0.55); transition:color 0.2s; }
.footer-links a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.07); padding-top:28px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.footer-bottom-left { font-size:12px; color:rgba(255,255,255,0.3); }
.footer-bottom-right a { font-size:12px; color:rgba(255,255,255,0.3); margin-left:16px; }

/* 3D SCROLL */


/* ============ ANIMATIONS ============ */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }
@keyframes tickerL { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes tickerR { 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }


/* ============ RESPONSIVE ============ */
/* Large screens: 1400px+ */
@media (min-width:1400px) {
  .container { max-width:1360px; }
  .hero-inner { max-width:1360px; gap:64px; }
  .hero-title { font-size:76px; }
}
/* Extra large: 1700px+ (monitor, ultrawide) */
@media (min-width:1700px) {
  .container { max-width:1600px; }
  .hero-inner { max-width:1600px; gap:80px; }
  .hero-title { font-size:88px; }
  .hero-sub { font-size:20px; }
  #hero { padding:120px 48px 80px; }
}
@media (max-width:1024px) {
  .hero-inner { gap:32px; }
}
@media (max-width:900px) {
  .pillars, .about-grid, .contact-inner, .how-cards { grid-template-columns:1fr; }
  .eco-cols { grid-template-columns:1fr; }
  .miniapp-inner { grid-template-columns:1fr; }
  #network { max-height:none; min-height:200px; }
  .network-bg { position:absolute; inset:0; }
  .network-bg img { width:100%; height:100%; object-fit:cover; object-position:right center; }
  .network-inner { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:0 20px; }
  .network-content { padding:0; max-width:100%; }
  .network-left { max-width:80%; text-align:left; }
  .network-title { font-size:clamp(16px,4.2vw,22px); line-height:1.3; }
  #miniapp { padding:32px 20px 56px; }
  #howHeader .section-title { font-size:clamp(18px,4.8vw,26px); line-height:1.35; }
  .how-flow { flex-wrap:nowrap; gap:0.8vw; justify-content:center; margin-top:28px; padding:0 4px; }
  .how-flow-tag { font-size:2.55vw; white-space:nowrap; }
  .how-flow-arrow { font-size:2.7vw; }
  .industries-accordion { height:400px; }
  .ind-panel { width:80px; }
  .ind-panel.open { width:260px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .values-grid { grid-template-columns:repeat(3,1fr); }
  .nav-links { display:none; }
  .nav-menu-btn { display:block; }
  .form-row { grid-template-columns:1fr; }
  .hero-inner { gap:24px; }
  .hero-sub { font-size:clamp(13px,1.8vw,16px); }
  .hero-stats { gap:20px; padding-top:20px; }
  .hero-stat-num { font-size:22px; }
}
@media (max-width:700px) {
  .hero-inner { align-items:center; }
  .hero-left { align-items:center; text-align:center; width:100%; max-width:100%; }
  .hero-sub { white-space:normal; }
  .hero-btns { justify-content:center; }
  .hero-stats { justify-content:center; }
  #hero { background-image:url('assets/images/banner-phone.webp'); }
}
@media (max-width:600px) {
  .industries-accordion { flex-direction:column; height:auto; gap:8px; }
  .ind-panel { width:100% !important; height:72px; }
  .ind-panel:not(.open)::after { content:'+'; position:absolute; right:18px; top:50%; transform:translateY(-50%); color:#fff; font-size:22px; font-weight:700; opacity:0.8; z-index:3; }
  .ind-panel.open { height:320px; width:100% !important; }
  .ind-panel-label-v { transform:none; }
  .ind-panel-label-v span { writing-mode:horizontal-tb; transform:none; font-size:12px; letter-spacing:0.02em; }
  .footer-grid { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:repeat(2,1fr); }
  .hero-stats { gap:24px; }
  .stat-sep { display:none; }
}
@media (max-width:480px) {
  #hero { padding:80px 20px 80px; }
  .hero-badge { font-size:11px; padding:6px 14px; max-width:100%; }
  .hero-title { font-size:clamp(26px,7vw,34px); }
  .hero-sub { font-size:14px; white-space:normal; }
  .hero-stats { gap:12px; margin-top:32px; flex-wrap:wrap; }
  .hero-stat-num { font-size:20px; }
  .hero-stat-label { font-size:11px; }
  .hero-btns .btn-primary, .hero-btns .btn-orange, .hero-btns .btn-outline-light { font-size:14px; padding:13px 24px; }
  .section-title { font-size:clamp(20px,6vw,26px); }
  .section-sub { font-size:15px; }
  .container { padding:0 16px; }
  .how-card { padding:24px 20px; }
  .pillar-card { padding:24px 20px; }
  .value-card { padding:20px 16px; }
  .contact-form { padding:24px 20px; }
  /* Miniapp stats: stack vertically on phones */
  .miniapp-stats { grid-template-columns:1fr; border-radius:12px; }
  .miniapp-stat { border-right:none; border-bottom:1px solid rgba(0,177,79,0.12); padding:16px; }
  .miniapp-stat:last-child { border-bottom:none; }
  .miniapp-stat-icon { width:40px; height:40px; flex-shrink:0; }
  /* Ecosystem nested grids: single column */
  .eco-left-grid { grid-template-columns:1fr; }
  .eco-right-layout { grid-template-columns:1fr; }
  .eco-right-bottom { grid-template-columns:1fr 1fr; }
  .eco-side-top, .eco-side-bottom { grid-template-columns:1fr; }
  #ecosystem { padding:40px 16px 40px; }
  /* Section padding reduction */
  #why { padding:40px 16px 36px; }
  #how { padding:36px 16px 40px; }
  #miniapp { padding:40px 20px 56px; }
  #industries { padding:36px 16px 40px; }
  #about { padding:40px 16px 56px; }
  #contact { padding:44px 16px 48px; }
  .about-card { padding:28px 20px; }
  .contact-form-card { padding:24px 16px; }
}
