/* ============================================================
   GVG REDESIGN — shared design system (chrome + tokens)
   Used by: index.html + all /redesign/{section}.html pages
   Design tokens: Dev-Handoff (jade #1F7A5A · clay #A8462E · paper #FBFAF7)
   ============================================================ */
:root{
  --paper:#FBFAF7; --sand:#F4EFE6; --surface:#fff; --line:#E7E3DB;
  --ink900:#1C1B19; --ink700:#44423E; --ink500:#6E6A63;
  --jade50:#EEF6F2; --jade100:#D7EAE1; --jade600:#1F7A5A; --jade700:#155C44; --jade900:#0C3B2C;
  --clay500:#C75B3E; --clay600:#A8462E;
  --on-head:#A7E0CC; --on-body:#C9E2D8; --on-muted:#7FB7A2; --on-warm:#FFD9A8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);font-family:'Be Vietnam Pro','Noto Sans KR','Noto Sans SC','Noto Sans TC','Noto Sans Devanagari',sans-serif;color:var(--ink900);-webkit-font-smoothing:antialiased}
.disp{font-family:'Bricolage Grotesque','Be Vietnam Pro','Noto Sans KR','Noto Sans SC','Noto Sans TC','Noto Sans Devanagari',sans-serif;letter-spacing:-.02em;line-height:1.05}
.wrap{max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}
a{color:var(--jade700)}
img{display:block}
.link{transition:color .15s,opacity .15s}
.link:hover{opacity:.78}
.cta{transition:transform .15s,box-shadow .15s}
.cta:hover{transform:translateY(-2px)}
.card{transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px)}
.figure{overflow:hidden}
.figure .zoom{transition:transform .5s ease}
.card:hover .zoom,.figure:hover .zoom{transform:scale(1.06)}
.navitem{position:relative}
.navitem::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--jade600);transform:scaleX(0);transition:transform .18s;border-radius:2px}
.navitem:hover::after,.navitem.active::after{transform:scaleX(1)}

/* gradient "photo" load-fallback classes (kept for graceful loading) */
.ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:84px;color:rgba(255,255,255,.20)}

/* ===== UTILITY BAR + HEADER ===== */
.utilbar{background:var(--jade900);color:#fff}
.utilbar-inner{padding-top:8px;padding-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12.5px}
.gvg-header{position:sticky;top:0;z-index:60;background:rgba(251,250,247,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.gvg-header-inner{padding-top:14px;padding-bottom:14px;display:flex;align-items:center;gap:26px}
.brandmark{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}
.brandmark .logo{width:34px;height:34px;border-radius:10px;background:var(--jade600);display:flex;align-items:center;justify-content:center;font-size:18px}
.nav-desktop{display:flex;align-items:center;gap:20px;font-size:14.5px;font-weight:500;flex:1;flex-wrap:wrap}
.nav-desktop a{color:var(--ink900);text-decoration:none}
.nav-desktop a.active{color:var(--clay600);font-weight:600}

/* lang switcher dropdown */
.langwrap{position:relative}
.langbtn{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;font-family:inherit;font-size:13px;font-weight:600;padding:5px 11px;border-radius:999px;cursor:pointer}
.langbtn:hover{background:rgba(255,255,255,.2)}
.langmenu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 40px -16px rgba(12,59,44,.4);padding:6px;min-width:182px;z-index:80;display:none}
.langmenu.open{display:block}
.langmenu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:9px;text-decoration:none;color:var(--ink900);font-size:14px;font-weight:500}
.langmenu a:hover{background:var(--jade50)}
.langmenu a.cur{background:var(--jade50);color:var(--jade700);font-weight:700}
.langmenu a .nat{font-size:12px;color:var(--ink500);font-weight:500}

/* mobile */
.mtoggle{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:18px;align-items:center;justify-content:center}
@media(max-width:900px){
  .nav-desktop{display:none!important}
  .mtoggle{display:flex}
}
@media(max-width:560px){
  .utilbar .trust{display:none}
}
.mdrawer{position:fixed;inset:0;z-index:100;background:rgba(12,59,44,.4);display:none}
.mdrawer.open{display:block}
.mdrawer-panel{position:absolute;top:0;right:0;width:min(82vw,340px);height:100%;background:var(--paper);padding:22px;overflow-y:auto;box-shadow:-12px 0 40px -12px rgba(0,0,0,.4)}
.mdrawer-panel a{display:block;padding:13px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink900);font-weight:600;font-size:16px}

/* ===== FOOTER ===== */
.gvg-footer{background:var(--jade900);color:#B9D6CB}
.footer-grid{padding-top:48px;padding-bottom:28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.footer-grid .fcol-head{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--on-muted);margin-bottom:14px}
.footer-grid a{color:#B9D6CB;text-decoration:none;font-size:13.5px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom-inner{padding-top:18px;padding-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--on-muted)}
@media(max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr!important} }
@media(max-width:560px){ .footer-grid{grid-template-columns:1fr!important} }
