/* ==========================================================================
   FORZ GROUP — Design System
   (c) FORZ GROUP. Built for forz.vn
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* Brand */
  --amber:        #F3AD67;   /* official FORZ logo amber */
  --amber-hi:     #FFD3A0;
  --amber-deep:   #C97B2E;
  --iris:         #8B6BFF;   /* unicorn / aspiration */
  --cyan:         #4FE3FF;   /* energy / future */
  --emerald:      #2C4A3B;   /* TEAFIT SPACE */
  --emerald-hi:   #6FBF95;

  /* Surfaces */
  --bg:           #05070C;
  --bg-2:         #080B13;
  --panel:        #0C111C;
  --panel-2:      #101624;
  --line:         rgba(243,173,103,.16);
  --line-soft:    rgba(255,255,255,.08);

  /* Type */
  --ink:          #EFF2F7;
  --ink-2:        #A8B2C4;
  --ink-3:        #6C7789;

  --ff-display: 'Playfair Display', 'Times New Roman', serif;
  --ff-body:    'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ff-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --wrap: 1280px;
  --pad: clamp(20px, 5vw, 64px);
  --r: 18px;
  --r-lg: 26px;

  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-io: cubic-bezier(.7,0,.3,1);
  --nav-h: 76px;
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{
  font-family:var(--ff-body);
  background:var(--bg); color:var(--ink);
  font-size:16px; line-height:1.65; font-weight:400;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
::selection{background:var(--amber);color:#0A0A0A}

/* Scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#1D2534;border-radius:10px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:#2C3648}

/* ---------- 3. Typography ---------- */
.display{
  font-family:var(--ff-display); font-weight:600; line-height:1.03;
  letter-spacing:-.02em;
}
h1,.h1{font-family:var(--ff-display);font-weight:600;line-height:1.05;letter-spacing:-.025em;
  font-size:clamp(2.6rem,6.4vw,5.4rem)}
h2,.h2{font-family:var(--ff-display);font-weight:600;line-height:1.1;letter-spacing:-.02em;
  font-size:clamp(2rem,4.2vw,3.4rem)}
h3,.h3{font-family:var(--ff-display);font-weight:600;line-height:1.2;letter-spacing:-.015em;
  font-size:clamp(1.35rem,2.2vw,1.85rem)}
h4,.h4{font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:600;letter-spacing:-.01em}
p{color:var(--ink-2)}
strong{color:var(--ink);font-weight:600}

.eyebrow{
  font-family:var(--ff-mono); font-size:.72rem; font-weight:500;
  letter-spacing:.28em; text-transform:uppercase; color:var(--amber);
  display:inline-flex; align-items:center; gap:.7em;
}
.eyebrow::before{
  content:''; width:26px; height:1px; background:linear-gradient(90deg,transparent,var(--amber));
}
.lead{font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--ink-2);line-height:1.75}
.muted{color:var(--ink-3)}
.grad-text{
  background:linear-gradient(100deg,var(--amber-hi) 0%,var(--amber) 38%,var(--iris) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---------- 4. Layout ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.wrap-wide{max-width:1560px}
section{position:relative}
.sec{padding-block:clamp(72px,10vw,140px)}
.sec-head{max-width:760px;margin-bottom:clamp(38px,5vw,64px)}
.sec-head .eyebrow{margin-bottom:18px}
.sec-head h2{margin-bottom:18px}
.grid{display:grid;gap:clamp(16px,2vw,26px)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ---------- 5. Ambient background ---------- */
.aura{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.5;z-index:0}
.aura-a{background:radial-gradient(circle,rgba(243,173,103,.34),transparent 68%)}
.aura-b{background:radial-gradient(circle,rgba(139,107,255,.28),transparent 68%)}
.aura-c{background:radial-gradient(circle,rgba(79,227,255,.20),transparent 68%)}
.aura-d{background:radial-gradient(circle,rgba(111,191,149,.24),transparent 68%)}

.mesh{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
}
.noise{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}
.wrap,.sec > .wrap{position:relative;z-index:2}

/* ---------- 6. Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:900;
  display:flex;align-items:center;
  transition:background .45s var(--ease),backdrop-filter .45s var(--ease),border-color .45s,height .3s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(5,7,12,.78);backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  border-bottom-color:var(--line-soft); height:64px;
}
.nav-in{width:100%;max-width:1560px;margin-inline:auto;padding-inline:var(--pad);
  display:flex;align-items:center;gap:clamp(18px,3vw,44px)}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{height:26px;width:auto;filter:drop-shadow(0 0 16px rgba(243,173,103,.35))}
.brand .grp{
  font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.34em;color:var(--amber);
  text-transform:uppercase;padding-left:12px;border-left:1px solid var(--line);
  align-self:center;line-height:1.1;
}
@media(max-width:520px){.brand .grp{display:none}}

.menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.menu a{
  position:relative;padding:9px 15px;border-radius:999px;font-size:.875rem;font-weight:500;
  color:var(--ink-2);transition:color .25s,background .25s;white-space:nowrap;
}
.menu a::after{
  content:'';position:absolute;left:15px;right:15px;bottom:4px;height:1px;
  background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);
}
.menu a:hover{color:var(--ink)}
.menu a:hover::after,.menu a.active::after{transform:scaleX(1)}
.menu a.active{color:var(--ink)}
.nav-cta{display:flex;align-items:center;gap:10px;flex-shrink:0}
@media(max-width:1100px){.menu{display:none}}

.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-soft);
  align-items:center;justify-content:center;flex-direction:column;gap:5px;flex-shrink:0}
.burger span{display:block;width:18px;height:1.5px;background:var(--ink);border-radius:2px;
  transition:transform .35s var(--ease),opacity .25s}
.burger.on span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media(max-width:1100px){.burger{display:flex}}

.drawer{
  position:fixed;inset:0;z-index:890;background:rgba(5,7,12,.97);backdrop-filter:blur(24px);
  display:flex;flex-direction:column;justify-content:center;gap:6px;padding:96px var(--pad) 40px;
  opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s;
}
.drawer.on{opacity:1;visibility:visible}
.drawer a{
  font-family:var(--ff-display);font-size:clamp(1.6rem,7vw,2.4rem);padding:12px 0;
  border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;
  transform:translateY(20px);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease);
}
.drawer.on a{transform:none;opacity:1}
.drawer a span{font-family:var(--ff-mono);font-size:.66rem;color:var(--amber);letter-spacing:.2em}
.drawer a:hover{color:var(--amber)}

/* ---------- 7. Buttons ---------- */
.btn{
  --bh:52px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:var(--bh);padding:0 26px;border-radius:999px;
  font-size:.9rem;font-weight:600;letter-spacing:.01em;
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),color .3s,border-color .3s;
  white-space:nowrap;
}
.btn svg{width:16px;height:16px;flex-shrink:0;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-p{
  background:linear-gradient(100deg,var(--amber-hi),var(--amber) 45%,var(--amber-deep));
  color:#100B04;box-shadow:0 8px 30px -10px rgba(243,173,103,.6);
}
.btn-p::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,#fff,var(--amber-hi));
  opacity:0;transition:opacity .3s;
}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 14px 40px -10px rgba(243,173,103,.75)}
.btn-p:hover::before{opacity:1}
.btn-g{border:1px solid var(--line);color:var(--ink);background:rgba(255,255,255,.02)}
.btn-g:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}
.btn-sm{--bh:42px;padding:0 18px;font-size:.82rem}
.btn-lg{--bh:58px;padding:0 32px;font-size:.95rem}
@media(max-width:520px){.btn{--bh:48px;padding:0 20px;font-size:.85rem}}

.link-a{
  display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--amber);
  position:relative;
}
.link-a::after{content:'';position:absolute;left:0;right:18px;bottom:-3px;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.link-a:hover::after{transform:scaleX(1)}
.link-a svg{width:14px;height:14px;transition:transform .35s var(--ease)}
.link-a:hover svg{transform:translateX(4px)}

/* ---------- 8. Cards / surfaces ---------- */
.card{
  position:relative;border:1px solid var(--line-soft);border-radius:var(--r-lg);
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  padding:clamp(22px,2.6vw,34px);overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease),border-color .5s,box-shadow .5s;
}
.card::before{
  content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s;
  background:radial-gradient(600px circle at var(--mx,50%) var(--my,0%),rgba(243,173,103,.12),transparent 45%);
}
.card:hover{transform:translateY(-4px);border-color:var(--line);
  box-shadow:0 24px 60px -30px rgba(0,0,0,.9)}
.card:hover::before{opacity:1}
.card-t{margin-bottom:10px}
.card p{font-size:.94rem}

.ico{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:20px;
  background:linear-gradient(150deg,rgba(243,173,103,.18),rgba(243,173,103,.04));
  border:1px solid var(--line);color:var(--amber);
}
.ico svg{width:21px;height:21px}

/* Stat */
.stat{text-align:left}
.stat .n{
  font-family:var(--ff-display);font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:600;line-height:1;
  letter-spacing:-.03em;
  background:linear-gradient(160deg,#fff,var(--amber) 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.stat .l{font-size:.84rem;color:var(--ink-3);margin-top:10px;letter-spacing:.02em}

/* Divider */
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);border:0}

/* Chip */
.chip{
  display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:999px;
  border:1px solid var(--line-soft);background:rgba(255,255,255,.03);
  font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);
}
.chip .dot{width:5px;height:5px;border-radius:50%;background:var(--amber);
  box-shadow:0 0 8px var(--amber)}
.chip-live .dot{background:#4ADE80;box-shadow:0 0 8px #4ADE80;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---------- 9. Reveal ---------- */
[data-rv]{opacity:0;transform:translateY(28px);
  transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-rv].in{opacity:1;transform:none}
[data-rv="l"]{transform:translateX(-32px)}
[data-rv="r"]{transform:translateX(32px)}
[data-rv="s"]{transform:scale(.94)}
[data-rv].in{transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
  [data-rv]{opacity:1;transform:none}
}

/* ---------- 10. Footer ---------- */
.foot{
  position:relative;border-top:1px solid var(--line-soft);
  background:linear-gradient(180deg,var(--bg),#03040A);padding-top:clamp(56px,7vw,84px);
}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(26px,4vw,56px);
  padding-bottom:52px}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot h5{font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--amber);margin-bottom:18px}
.foot li{margin-bottom:11px}
.foot li a{font-size:.9rem;color:var(--ink-2);transition:color .25s,padding-left .25s}
.foot li a:hover{color:var(--amber);padding-left:5px}
.foot-bot{border-top:1px solid var(--line-soft);padding-block:22px;display:flex;
  justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.foot-bot p{font-size:.8rem;color:var(--ink-3)}

/* ---------- 11. Utilities ---------- */
.center{text-align:center}
.center .sec-head{margin-inline:auto}
.center .eyebrow::before{display:none}
.mt-s{margin-top:14px}.mt-m{margin-top:26px}.mt-l{margin-top:44px}
.flex{display:flex}.wrapf{flex-wrap:wrap}.aic{align-items:center}.jcc{justify-content:center}
.gap-s{gap:10px}.gap-m{gap:16px}.gap-l{gap:26px}
.hide{display:none !important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fw{width:100%}

/* ==========================================================================
   12. INTRO — "Cánh cửa mở ra khát vọng"
   ========================================================================== */
#gate{
  position:fixed; inset:0; z-index:9999;
  perspective:1700px; perspective-origin:50% 46%;
  overflow:hidden; background:transparent;
}
#gate.gate-off{opacity:0;visibility:hidden;transition:opacity .8s var(--ease),visibility .8s}

/* --- the two gates --- */
.gate-door{
  position:absolute; top:-2px; bottom:-2px; width:50.4%;
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 22%,transparent 78%,rgba(0,0,0,.5)),
    repeating-linear-gradient(94deg,rgba(255,255,255,.016) 0 2px,transparent 2px 5px),
    linear-gradient(100deg,#03050A 0%,#0A0E18 46%,#060910 100%);
  box-shadow:inset 0 0 140px rgba(0,0,0,.9);
  backface-visibility:hidden;
  transition:transform 1.45s cubic-bezier(.62,.02,.24,1), opacity .7s ease .95s;
  will-change:transform;
}
.gate-door::after{                    /* engraved seam edge + amber filament */
  content:''; position:absolute; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg,transparent,rgba(243,173,103,.9) 18%,rgba(255,231,199,1) 50%,rgba(243,173,103,.9) 82%,transparent);
  opacity:0; transition:opacity .9s var(--ease);
  box-shadow:0 0 26px 5px rgba(243,173,103,.55);
}
.gate-door.l{left:0;  transform-origin:0% 50%}
.gate-door.r{right:0; transform-origin:100% 50%}
.gate-door.l::after{right:0}
.gate-door.r::after{left:0}
#gate.gate-seam .gate-door::after{opacity:1}

/* fine machined lines on each gate face */
.gate-door::before{
  content:''; position:absolute; inset:11% 13%;
  border:1px solid rgba(243,173,103,.10);
  border-radius:3px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), 0 0 60px rgba(0,0,0,.6);
  opacity:.85;
}

#gate.gate-open .gate-door.l{transform:rotateY(-104deg)}
#gate.gate-open .gate-door.r{transform:rotateY(104deg)}
#gate.gate-open .gate-door{opacity:0}

/* --- light flooding through the opening --- */
.gate-glow{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scaleX(.02);
  width:120%; height:130%; pointer-events:none;
  background:radial-gradient(ellipse 42% 60% at 50% 50%,
    rgba(255,235,205,.95) 0%, rgba(243,173,103,.55) 26%, rgba(139,107,255,.16) 54%, transparent 74%);
  opacity:0; transition:opacity .8s var(--ease), transform 1.5s cubic-bezier(.6,0,.2,1);
  mix-blend-mode:screen;
}
#gate.gate-seam .gate-glow{opacity:.5}
#gate.gate-open .gate-glow{opacity:.72;transform:translate(-50%,-50%) scaleX(1.1)}

/* --- lightning strike (the FORZ bolt) --- */
.gate-flash{
  position:absolute; inset:0; pointer-events:none; opacity:0;
  background:linear-gradient(104deg,transparent 34%,rgba(255,240,214,.92) 49%,transparent 63%);
  mix-blend-mode:screen;
}
#gate.gate-strike .gate-flash{animation:bolt .62s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes bolt{
  0%{opacity:0;transform:translateX(-16%) scaleY(1.3)}
  16%{opacity:1}
  34%{opacity:.15}
  48%{opacity:.9}
  100%{opacity:0;transform:translateX(14%) scaleY(1)}
}

.gate-canvas{position:absolute;inset:0;pointer-events:none}

/* --- wordmark --- */
.gate-brand{
  position:absolute; left:50%; bottom:clamp(40px,7.5vh,84px); transform:translateX(-50%);
  text-align:center; pointer-events:none; width:min(90vw,640px);
  opacity:0; transition:opacity .9s var(--ease), transform 1.1s var(--ease);
}
.gate-brand img{
  height:clamp(30px,5.4vw,52px); width:auto; margin:0 auto 16px;
  filter:drop-shadow(0 0 32px rgba(243,173,103,.55));
}
.gate-brand .gl{
  font-family:var(--ff-mono); font-size:clamp(.56rem,1.5vw,.72rem);
  letter-spacing:.6em; text-transform:uppercase; color:var(--amber);
  padding-left:.6em;
}
.gate-brand .gt{
  margin-top:14px; font-size:clamp(.76rem,1.9vw,.92rem); color:var(--ink-2);
  letter-spacing:.02em;
}
#gate.gate-word .gate-brand{opacity:1}
#gate.gate-open .gate-brand{opacity:0;transform:translateX(-50%) scale(1.14)}

.gate-skip{
  position:absolute; right:clamp(18px,4vw,42px); bottom:clamp(18px,4vw,38px);
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--ink-3); padding:11px 17px; border:1px solid rgba(255,255,255,.12);
  border-radius:999px; background:rgba(0,0,0,.35); backdrop-filter:blur(8px);
  transition:color .3s,border-color .3s,opacity .5s; z-index:4;
}
.gate-skip:hover{color:var(--amber);border-color:var(--amber)}
#gate.gate-open .gate-skip{opacity:0}

/* --- page reveal behind the gates --- */
.hero-in{transition:opacity 1.5s var(--ease) .1s, transform 2.1s var(--ease)}
html.has-gate:not(.gate-opening) .hero-in{opacity:0;transform:scale(1.07)}
html.has-gate:not(.gate-opening) body{background:#03050A}

/* ==========================================================================
   13. Shared page furniture
   ========================================================================== */
/* ---------- scroll progress ---------- */
.scrollbar{position:fixed;top:0;left:0;right:0;height:2px;z-index:950;background:transparent}
.scrollbar-fill{height:100%;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--amber),var(--iris));box-shadow:0 0 12px rgba(243,173,103,.5)}

/* ============================== CTA ============================== */
.cta-band{text-align:center}
.cta-in{
  position:relative;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(38px,6vw,76px) clamp(22px,4vw,56px);overflow:hidden;
  background:
    radial-gradient(ellipse 70% 130% at 50% 0%,rgba(243,173,103,.14),transparent 62%),
    linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
}
.cta-in::before{
  content:'';position:absolute;top:0;left:20%;right:20%;height:1px;
  background:linear-gradient(90deg,transparent,var(--amber),transparent);
}
.cta-in .eyebrow::before{display:none}
.cta-in h2{margin:18px 0 16px}
.cta-in .lead{max-width:56ch;margin-inline:auto}

/* ============================== FOOTER extra ============================== */
.soc{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  border:1px solid var(--line-soft);font-family:var(--ff-mono);font-size:.66rem;
  color:var(--ink-3);transition:border-color .3s,color .3s,transform .3s;
}
.soc:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}
