*{margin:0;padding:0;box-sizing:border-box}
:root{
  --g3-ivory:#fbf7ee;
  --g3-paper:#ffffff;
  --g3-ink:#1f1a16;
  --g3-text:#3a2f28;
  --g3-muted:#6b5a50;
  --g3-line:rgba(31,26,22,.14);
  --g3-gold:#c9a227;
  --g3-gold2:#e3c85f;
  --g3-wine:#6b1f2b;
  --g3-emerald:#0f5132;
  --g3-max:1180px;
  --g3-r:10px;
  --g3-shadow:0 18px 46px rgba(31,26,22,.10);
}

html{scroll-behavior:smooth}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.7;
  color:var(--g3-text);
  background:
    radial-gradient(800px 500px at 10% 10%, rgba(201,162,39,.10), transparent 60%),
    radial-gradient(700px 460px at 90% 18%, rgba(107,31,43,.08), transparent 60%),
    linear-gradient(180deg,var(--g3-ivory) 0%, #fff 100%);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit}
.g3-wrap{max-width:var(--g3-max);margin:0 auto;padding:0 18px}

.g3-top{
  background:rgba(255,255,255,.65);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--g3-line);
  color:var(--g3-muted);
  font-size:13px;
  padding:10px 0;
}

.g3-head{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(251,247,238,.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--g3-line);
}

.g3-headin{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px;
}

.g3-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-width:0;
}

.g3-mark{
  width:42px;
  height:42px;
  border-radius:14px;
  background:
    radial-gradient(18px 18px at 35% 35%, rgba(227,200,95,.65), transparent 55%),
    linear-gradient(135deg, rgba(201,162,39,.45), rgba(201,162,39,.08));
  border:1px solid rgba(201,162,39,.45);
  box-shadow:0 0 26px rgba(201,162,39,.20);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--g3-ink);
  font-weight:900;
  letter-spacing:.06em;
}

.g3-brandtxt{min-width:0;display:flex;flex-direction:column;line-height:1.1}
.g3-brandtxt strong{
  font-family:"Playfair Display",serif;
  font-weight:900;
  font-size:16px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:260px;
  color:var(--g3-ink);
}
.g3-brandtxt span{
  font-size:12px;
  color:var(--g3-muted);
  font-weight:700;
  letter-spacing:.02em;
}

.g3-burger{
  display:none;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid var(--g3-line);
  background:rgba(255,255,255,.8);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
}
.g3-burger span{
  display:block;
  width:22px;
  height:2px;
  background:var(--g3-ink);
  transition:transform .2s ease, opacity .2s ease;
}
.g3-burger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.g3-burger.is-open span:nth-child(2){opacity:0}
.g3-burger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.g3-nav ul{
  list-style:none;
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.g3-nav a{
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--g3-ink);
  padding:8px 2px;
  border-bottom:2px solid transparent;
}
.g3-nav a:hover{border-bottom-color:rgba(201,162,39,.75);color:var(--g3-ink)}

.g3-hero{
  padding:54px 0 18px;
}
.g3-hero h1{
  font-family:"Playfair Display",serif;
  font-weight:900;
  font-size:46px;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--g3-ink);
}
.g3-hero p{
  margin-top:14px;
  max-width:900px;
  color:var(--g3-muted);
  font-size:17px;
}
.g3-ribbon{
  margin-top:16px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(201,162,39,.10);
  border:1px solid rgba(201,162,39,.35);
  color:var(--g3-ink);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}

.g3-main{
  padding:34px 0 44px;
}
.g3-cols{
  display:grid;
  grid-template-columns: 1.4fr .6fr;
  gap:18px;
  align-items:start;
}
.g3-card{
  background:var(--g3-paper);
  border:1px solid var(--g3-line);
  border-radius:var(--g3-r);
  box-shadow:var(--g3-shadow);
  padding:18px;
}
.g3-h2{
  font-family:"Playfair Display",serif;
  font-weight:900;
  font-size:28px;
  letter-spacing:-.02em;
  color:var(--g3-ink);
}
.g3-h3{
  font-family:"Playfair Display",serif;
  font-weight:900;
  font-size:20px;
  color:var(--g3-ink);
}
.g3-p{
  margin-top:10px;
  color:var(--g3-muted);
  font-size:15px;
}

.g3-quick{
  position:sticky;
  top:84px;
}
.g3-quick h4{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--g3-ink);
  margin-bottom:10px;
}
.g3-quick a{
  display:block;
  text-decoration:none;
  padding:10px 0;
  border-bottom:1px solid rgba(31,26,22,.10);
  color:var(--g3-ink);
  font-weight:800;
  font-size:13px;
}
.g3-quick a:hover{color:var(--g3-wine)}
.g3-quick a:last-child{border-bottom:none}

.g3-ops{
  margin-top:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.g3-op{
  border:1px solid rgba(31,26,22,.12);
  border-radius:var(--g3-r);
  background:rgba(255,255,255,.85);
  padding:14px;
}
.g3-opTop{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.g3-opName{
  font-weight:900;
  color:var(--g3-ink);
  font-size:16px;
}
.g3-opNote{
  margin-top:8px;
  color:var(--g3-muted);
  font-size:14px;
}
.g3-logos{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.g3-logoBox{
  width:96px;
  height:56px;
  border:1px solid rgba(31,26,22,.10);
  border-radius:12px;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.g3-logoBox img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
  display:block;
}

.g3-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid transparent;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.02em;
  color:#fff;
}
.g3-btnWine{background:linear-gradient(135deg, var(--g3-wine), #8a2b3b)}
.g3-btnEm{background:linear-gradient(135deg, var(--g3-emerald), #1a7a4c)}
.g3-btn:hover{filter:brightness(1.03)}
.g3-mini{margin-top:8px;color:rgba(31,26,22,.60);font-size:12px;font-weight:800}

.g3-split{
  margin-top:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.g3-box{
  border:1px solid rgba(31,26,22,.12);
  border-radius:var(--g3-r);
  background:rgba(255,255,255,.86);
  padding:14px;
}
.g3-box p{margin-top:8px;color:var(--g3-muted);font-size:14px}

.g3-revs{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.g3-rev{
  border:1px solid rgba(31,26,22,.12);
  border-radius:var(--g3-r);
  background:rgba(255,255,255,.86);
  padding:14px;
}
.g3-revHead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.g3-revName{font-weight:900;color:var(--g3-ink)}
.g3-revWhen{font-size:12px;color:rgba(31,26,22,.60);font-weight:900}
.g3-stars{margin-top:6px;letter-spacing:.14em;font-weight:900;color:rgba(201,162,39,.95);font-size:12px}
.g3-revTxt{margin-top:10px;color:var(--g3-muted);font-size:14px;line-height:1.7}

.g3-faqList{
  margin-top:14px;
  list-style:none;
  border:1px solid rgba(31,26,22,.12);
  border-radius:var(--g3-r);
  background:rgba(255,255,255,.86);
  overflow:hidden;
}
.g3-faqList li{
  padding:14px;
  border-bottom:1px solid rgba(31,26,22,.10);
}
.g3-faqList li:last-child{border-bottom:none}
.g3-q{font-weight:900;color:var(--g3-ink)}
.g3-a{margin-top:8px;color:var(--g3-muted);font-size:14px}

.g3-foot{
  margin-top:24px;
  border-top:1px solid var(--g3-line);
  background:rgba(255,255,255,.70);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:34px 0 18px;
}
.g3-fgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.g3-fcol h4{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--g3-ink);
  margin-bottom:10px;
}
.g3-fcol ul{list-style:none}
.g3-fcol li{margin-bottom:8px}
.g3-fcol a{
  text-decoration:none;
  color:rgba(31,26,22,.78);
  font-weight:900;
  font-size:13px;
}
.g3-fcol a:hover{color:var(--g3-wine)}

.g3-icons{
  margin:18px 0 12px;
  padding:18px 0;
  border-top:1px solid rgba(31,26,22,.10);
  border-bottom:1px solid rgba(31,26,22,.10);
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
  justify-content:center;
}
.g3-icons img{height:38px;width:auto;filter:brightness(0);opacity:.85}
.g3-icons .g3-i18 img{filter:none;opacity:1}

.g3-bot{
  text-align:center;
  color:rgba(31,26,22,.66);
  font-size:12px;
  padding-top:12px;
}

.g3-gate{
  position:fixed;
  inset:auto 0 0 0;
  z-index:10000;
  display:none;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-top:2px solid rgba(201,162,39,.55);
  box-shadow:0 -18px 40px rgba(31,26,22,.16);
}
.g3-gate.is-on{display:block}
.g3-gateIn{
  max-width:var(--g3-max);
  margin:0 auto;
  padding:16px 18px;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.g3-gateTxt{min-width:240px;flex:1;color:rgba(31,26,22,.86);font-size:14px}
.g3-gateBtns{display:flex;gap:10px;flex-wrap:wrap}
.g3-btnGhost{
  min-height:44px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(31,26,22,.18);
  background:rgba(255,255,255,.92);
  color:var(--g3-ink);
  cursor:pointer;
  font-weight:900;
  letter-spacing:.02em;
}
.g3-btnGhost:hover{border-color:rgba(201,162,39,.55)}
.g3-btnGold{
  border-color:rgba(201,162,39,.55);
  background:linear-gradient(135deg, rgba(201,162,39,.30), rgba(227,200,95,.22));
  box-shadow:0 0 26px rgba(201,162,39,.18);
}

@media (max-width:920px){
  .g3-hero h1{font-size:40px}
  .g3-cols{grid-template-columns:1fr}
  .g3-quick{position:relative;top:auto}
  .g3-fgrid{grid-template-columns:1fr;gap:14px}
}

@media (max-width:860px){
  .g3-burger{display:inline-flex}
  .g3-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:rgba(251,247,238,.96);
    border-bottom:1px solid var(--g3-line);
    box-shadow:0 24px 44px rgba(31,26,22,.16);
    display:none;
    border-bottom-left-radius:18px;
    border-bottom-right-radius:18px;
    overflow:hidden;
  }
  .g3-nav.is-open{display:block}
  .g3-nav ul{
    display:flex;
    flex-direction:column;
    gap:0;
    padding:10px 18px 14px;
    margin:0;
  }
  .g3-nav a{
    display:block;
    padding:12px 0;
    border-bottom:1px solid rgba(31,26,22,.10);
  }
  .g3-nav li:last-child a{border-bottom:none}
}

@media (max-width:680px){
  .g3-hero h1{font-size:36px}
  .g3-split{grid-template-columns:1fr}
  .g3-revs{grid-template-columns:1fr}
  .g3-brandtxt strong{max-width:180px}
}