/* ═══════════════════════════════════════════════════════════════
   PALETA 1 — VIOLETA NOCHE (default, overridden by JS)
   Primary: #AD00FF  Accent: #00FFB2  Fondos: azul-violeta oscuro
   ═══════════════════════════════════════════════════════════════ */
:root {
  --primary:        #AD00FF;
  --primary-r:      173;
  --primary-g:      0;
  --primary-b:      255;
  --primary-glow:   rgba(173,0,255,0.18);
  --primary-subtle: rgba(173,0,255,0.08);
  --primary-mid:    rgba(173,0,255,0.20);

  --accent:         #00FFB2;
  --accent-r:       0;
  --accent-g:       255;
  --accent-b:       178;
  --accent-border:  rgba(0,255,178,0.28);

  --bg:       #07060F;
  --surface:  #0E0C19;
  --surface2: #151228;
  --surface3: #1C1834;
  --nav-bg:   rgba(7,6,15,0.92);

  --border:   rgba(173,0,255,0.20);
  --border2:  rgba(255,255,255,0.07);

  /* WCAG AA — all verified */
  --text-high:  #F0EAF9;
  --text-mid:   #C0B4DC;
  --text-low:   #8E82B2;
  --text-label: #7A6E9E;

  --font-d: 'Fraunces', Georgia, serif;
  --font-b: 'DM Sans', system-ui, sans-serif;
}

/* ═══════════════════════════════════════════════════════════════
   PALETA 2 — COBRE ARDIENTE
   Primary: #FF6B2B  Accent: #FFD166  Fondos: negro-carbón cálido
   ═══════════════════════════════════════════════════════════════ */
[data-palette="copper"] {
  --primary:        #FF6B2B;
  --primary-r:      255;
  --primary-g:      107;
  --primary-b:      43;
  --primary-glow:   rgba(255,107,43,0.18);
  --primary-subtle: rgba(255,107,43,0.08);
  --primary-mid:    rgba(255,107,43,0.20);

  --accent:         #FFD166;
  --accent-r:       255;
  --accent-g:       209;
  --accent-b:       102;
  --accent-border:  rgba(255,209,102,0.30);

  --bg:       #0C0905;
  --surface:  #140E08;
  --surface2: #1C140C;
  --surface3: #251B12;
  --nav-bg:   rgba(12,9,5,0.92);

  --border:   rgba(255,107,43,0.20);
  --border2:  rgba(255,255,255,0.07);

  /* WCAG AA — warm tinted whites */
  --text-high:  #F9F1EA;
  --text-mid:   #D4C4B0;
  --text-low:   #A08870;
  --text-label: #8A7060;
}

/* ═══════════════════════════════════════════════════════════════
   PALETA 3 — CIAN ELÉCTRICO
   Primary: #00C8FF  Accent: #B8FF00  Fondos: negro-slate marino
   ═══════════════════════════════════════════════════════════════ */
[data-palette="cyan"] {
  --primary:        #00C8FF;
  --primary-r:      0;
  --primary-g:      200;
  --primary-b:      255;
  --primary-glow:   rgba(0,200,255,0.16);
  --primary-subtle: rgba(0,200,255,0.08);
  --primary-mid:    rgba(0,200,255,0.20);

  --accent:         #B8FF00;
  --accent-r:       184;
  --accent-g:       255;
  --accent-b:       0;
  --accent-border:  rgba(184,255,0,0.28);

  --bg:       #050A0D;
  --surface:  #090F14;
  --surface2: #0D161C;
  --surface3: #121E26;
  --nav-bg:   rgba(5,10,13,0.92);

  --border:   rgba(0,200,255,0.20);
  --border2:  rgba(255,255,255,0.07);

  /* WCAG AA — cool tinted whites */
  --text-high:  #E8F4F9;
  --text-mid:   #A8C8D8;
  --text-low:   #6A9BAD;
  --text-label: #568090;
}

/* ══════════════════════════════════════════════
   RESET & BASE
   ══════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text-high);
  font-family:var(--font-b);font-size:16px;line-height:1.6;
  overflow-x:hidden;cursor:none;
  transition:background .6s ease, color .6s ease;
}

/* CURSOR */
.cur-dot{
  width:8px;height:8px;background:var(--primary);border-radius:50%;
  position:fixed;top:0;left:0;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:background .4s;
}
.cur-ring{
  width:32px;height:32px;border:1.5px solid var(--primary);border-radius:50%;
  position:fixed;top:0;left:0;pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:width .2s,height .2s,opacity .2s,border-color .4s;
  opacity:.6;
}

/* NOISE */
body::before{
  content:'';position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  pointer-events:none;z-index:9990;opacity:.32;
}

/* SCROLL PROGRESS */
.prog{
  position:fixed;top:0;left:0;height:2px;background:var(--primary);
  z-index:200;transform-origin:left;transform:scaleX(0);
  box-shadow:0 0 10px var(--primary);
  transition:background .4s,box-shadow .4s;
}

/* PALETTE BADGE */
.palette-badge{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:500;
  display:flex;align-items:center;gap:.5rem;
  font-family:var(--font-b);font-size:.65rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-label);
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:100px;padding:.4rem .9rem;
  opacity:0;animation:fadein .6s 1.2s forwards;
  transition:background .4s,border-color .4s,color .4s;
}
.palette-badge .dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--primary);
  transition:background .4s;
}
@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem 4rem;
  border-bottom:1px solid transparent;
  transition:background .4s,border-color .4s;
}
nav.sc{background:var(--nav-bg);border-color:var(--border);backdrop-filter:blur(20px)}
.nav-logo{
  font-family:var(--font-d);font-size:1.15rem;font-weight:700;
  color:var(--text-high);text-decoration:none;letter-spacing:-.02em;
  transition:color .4s;
}
.nav-logo span{color:var(--primary);transition:color .4s}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{
  font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-mid);text-decoration:none;transition:color .2s;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;
  background:var(--primary);transform:scaleX(0);transform-origin:left;
  transition:transform .3s,background .4s;
}
.nav-links a:hover{color:var(--text-high)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-badge{
  display:flex;align-items:center;gap:.5rem;
  font-size:.72rem;font-weight:600;letter-spacing:.06em;
  color:var(--accent);border:1px solid var(--accent-border);
  border-radius:100px;padding:.35rem .9rem;
  transition:color .4s,border-color .4s;
}
.nav-badge::before{
  content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;
  animation:pulse 2s infinite;transition:background .4s;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

/* HERO */
.hero{
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  position:relative;overflow:hidden;padding-top:5rem;
}
.orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;transition:background .6s}
.orb1{width:560px;height:560px;background:var(--primary-glow);top:-80px;right:-60px}
.orb2{width:260px;height:260px;background:var(--accent-border);bottom:80px;left:160px}

.hero-l{
  display:flex;flex-direction:column;justify-content:center;
  padding:5rem 4rem;position:relative;z-index:2;
}
.eyebrow{
  display:flex;align-items:center;gap:.75rem;
  font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--primary);margin-bottom:2rem;transition:color .4s;
}
.eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--primary);transition:background .4s}
.hero-title{
  font-family:var(--font-d);
  font-size:clamp(3rem,5.5vw,5.5rem);font-weight:900;
  line-height:1;letter-spacing:-.04em;margin-bottom:1.5rem;
  opacity:0;animation:fup .9s .2s forwards cubic-bezier(.16,1,.3,1);
}
.hero-title em{font-style:italic;color:var(--primary);transition:color .4s}
.hero-desc{
  font-size:1.05rem;font-weight:300;color:var(--text-mid);
  max-width:420px;line-height:1.7;margin-bottom:3rem;
  opacity:0;animation:fup .9s .4s forwards cubic-bezier(.16,1,.3,1);
}
.hero-ctas{
  display:flex;gap:1rem;flex-wrap:wrap;
  opacity:0;animation:fup .9s .6s forwards cubic-bezier(.16,1,.3,1);
}
@keyframes fup{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.75rem;border-radius:4px;
  font-family:var(--font-b);font-size:.82rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;cursor:none;
  transition:all .25s,background .4s,border-color .4s,color .4s,box-shadow .4s;
  border:1px solid transparent;
}
.btn-p{
  background:var(--primary);color:#fff;border-color:var(--primary);
  box-shadow:0 0 28px var(--primary-glow);
}
.btn-p:hover{background:transparent;color:var(--primary);box-shadow:0 0 40px var(--primary-glow)}
.btn-g{background:transparent;color:var(--text-mid);border-color:var(--border2)}
.btn-g:hover{color:var(--text-high);border-color:var(--border)}

/* HERO RIGHT — Discipline Panel */
.hero-r{
  display:flex;align-items:center;justify-content:center;
  padding:5rem 4rem 5rem 2rem;position:relative;z-index:2;
}
.disc-panel{
  width:100%;max-width:460px;
  opacity:0;animation:fup .9s .7s forwards cubic-bezier(.16,1,.3,1);
}
.disc-hdr{
  font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-label);margin-bottom:1.25rem;
  display:flex;align-items:center;gap:.75rem;
}
.disc-hdr::after{content:'';flex:1;height:1px;background:var(--border2)}
.disc-item{
  display:flex;align-items:center;gap:1rem;
  padding:1.1rem 0;border-bottom:1px solid var(--border2);
  position:relative;transition:padding-left .3s;
}
.disc-item::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--primary);transform:scaleY(0);transform-origin:top;
  transition:transform .3s,background .4s;
}
.disc-item:hover{padding-left:.75rem}
.disc-item:hover::before{transform:scaleY(1)}
.disc-ico{
  width:38px;height:38px;flex-shrink:0;border-radius:7px;
  background:var(--primary-subtle);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);
  transition:background .3s,color .3s,border-color .4s;
}
.disc-ico svg{width:18px;height:18px}
.disc-item:hover .disc-ico{background:var(--primary);color:#fff}
.disc-name{
  font-family:var(--font-d);font-size:1.1rem;font-weight:700;
  letter-spacing:-.02em;color:var(--text-high);flex:1;
}
.disc-yrs{font-size:.72rem;font-weight:500;color:var(--text-low);white-space:nowrap}

.stat-strip{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-top:1.5rem;
  transition:background .4s,border-color .4s;
}
.sc2{
  background:var(--surface);padding:1.1rem .75rem;text-align:center;
  transition:background .3s;
}
.sc2:hover{background:var(--surface2)}
.sn{
  font-family:var(--font-d);font-size:1.9rem;font-weight:900;
  letter-spacing:-.04em;line-height:1;color:var(--text-high);display:block;
}
.sn span{color:var(--primary);transition:color .4s}
.sl{
  font-size:.68rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  color:var(--text-low);display:block;margin-top:.25rem;
}

/* MARQUEE */
.mq-wrap{
  overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--surface);padding:.85rem 0;
  transition:background .4s,border-color .4s;
}
.mq-track{display:flex;gap:2.5rem;animation:mq 22s linear infinite;width:max-content}
.mq-item{
  font-family:var(--font-d);font-size:.72rem;font-weight:300;font-style:italic;
  letter-spacing:.12em;text-transform:uppercase;color:var(--text-low);white-space:nowrap;flex-shrink:0;
}
.mq-dot{color:var(--primary);font-style:normal;transition:color .4s}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
section{padding:7rem 4rem}
.sec-lbl{
  font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--primary);margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;
  transition:color .4s;
}
.sec-lbl::before{content:'';display:block;width:20px;height:1px;background:var(--primary);transition:background .4s}
.sec-ttl{
  font-family:var(--font-d);font-size:clamp(2rem,3.5vw,3.2rem);
  font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem;
}
.sec-ttl em{font-style:italic;color:var(--primary);transition:color .4s}
.sec-sub{font-size:.95rem;color:var(--text-mid);font-weight:300;max-width:480px}

/* REVEAL */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.rv.on{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* SHARED ICON BOX */
.ico-box{
  width:44px;height:44px;border-radius:8px;
  background:var(--primary-subtle);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);margin-bottom:1.5rem;flex-shrink:0;
  transition:background .3s,border-color .4s,color .4s;
}
.ico-box svg{width:22px;height:22px}

/* EXPERIENCIA */
#experiencia{background:var(--surface);transition:background .4s}
.exp-hdr{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:5rem;align-items:end}
.exp-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.5px;background:var(--border);border:1px solid var(--border);
  border-radius:8px;overflow:hidden;
  transition:background .4s,border-color .4s;
}
.exp-card{background:var(--surface2);padding:2.5rem;transition:background .3s}
.exp-card:hover{background:var(--surface3)}
.exp-card:hover .ico-box{background:var(--primary-glow)}
.exp-num{font-size:.65rem;font-weight:600;letter-spacing:.15em;color:var(--text-label);margin-bottom:.6rem;text-transform:uppercase}
.exp-card h3{font-family:var(--font-d);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.7rem;line-height:1.2}
.exp-card p{font-size:.875rem;color:var(--text-mid);line-height:1.65;margin-bottom:1.4rem;font-weight:300}
.exp-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.exp-list li{font-size:.8rem;color:var(--text-mid);display:flex;align-items:flex-start;gap:.6rem}
.exp-list li::before{content:'→';color:var(--primary);flex-shrink:0;transition:color .4s}
.cli-list{margin-top:1.4rem;display:flex;flex-direction:column;gap:.6rem}
.cli{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;color:var(--accent);text-decoration:none;transition:gap .2s,color .4s}
.cli::before{content:'↗';font-size:.72rem}
.cli:hover{gap:.8rem}

/* SERVICIOS */
#servicios{background:var(--bg);transition:background .4s}
.svc-hdr{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem;align-items:end}
.svc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--border);border:1px solid var(--border);
  border-radius:8px;overflow:hidden;
  transition:background .4s,border-color .4s;
}
.svc-card{background:var(--surface);padding:2.5rem;position:relative;overflow:hidden;transition:background .3s}
.svc-card:hover,.svc-card.ft{background:var(--surface2)}
.svc-card.ft .ico-box{background:var(--primary);border-color:var(--primary);color:#fff}
.svc-tag{
  display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:.3rem .7rem;border-radius:2px;border:1px solid var(--border2);
  color:var(--text-low);margin-bottom:1.25rem;
}
.svc-card.ft .svc-tag{background:var(--primary);color:#fff;border-color:var(--primary)}
.svc-card h3{font-family:var(--font-d);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.7rem}
.svc-card p{font-size:.875rem;color:var(--text-mid);line-height:1.65;font-weight:300;margin-bottom:1.4rem}
.svc-feats{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.svc-feats li{font-size:.8rem;color:var(--text-mid);display:flex;align-items:center;gap:.65rem}
.svc-feats li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--primary);flex-shrink:0;transition:background .4s}
.svc-glow{
  position:absolute;bottom:-40px;right:-40px;width:120px;height:120px;
  background:var(--primary-glow);filter:blur(40px);border-radius:50%;
  opacity:0;transition:opacity .4s;
}
.svc-card.ft .svc-glow{opacity:1}
.svc-card:hover .svc-glow{opacity:.7}

/* PORTFOLIO */
#portfolio{background:var(--surface);transition:background .4s}
.port-hdr{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem;align-items:end}
.port-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.5px;background:var(--border);border:1px solid var(--border);
  border-radius:8px;overflow:hidden;
  transition:background .4s,border-color .4s;
}
.proj-card{
  background:var(--surface2);padding:2.5rem;min-height:240px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;transition:background .3s;
  text-decoration:none;color:inherit;cursor:none;
}
.proj-card:hover{background:var(--surface3)}
.proj-ico{
  width:48px;height:48px;border-radius:10px;
  background:var(--primary-subtle);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);transition:background .3s,border-color .4s,color .4s;
}
.proj-ico svg{width:24px;height:24px}
.proj-card:hover .proj-ico{background:var(--primary-glow)}
.proj-meta{padding-top:2rem}
.proj-cat{font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text-label);margin-bottom:.4rem}
.proj-card h3{font-family:var(--font-d);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.35rem}
.proj-card p{font-size:.82rem;color:var(--text-mid);font-weight:300;line-height:1.55;margin-bottom:1rem}
.proj-arr{font-size:.78rem;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:.4rem;transition:gap .2s,color .4s}
.proj-card:hover .proj-arr{gap:.7rem}
.beh-card{background:var(--surface);grid-row:span 2;border-left:1px solid var(--border);transition:background .3s,border-color .4s}

/* CONTACTO */
#contacto{background:var(--bg);transition:background .4s}
.cont-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.perks{margin-top:2.5rem;display:flex;flex-direction:column;gap:.85rem}
.perk{
  display:flex;align-items:flex-start;gap:1rem;padding:.95rem 1.2rem;
  border:1px solid var(--border2);border-radius:4px;
  transition:border-color .3s,background .3s;
}
.perk:hover{border-color:var(--border);background:var(--primary-subtle)}
.perk-ico{
  width:34px;height:34px;background:var(--primary-subtle);border:1px solid var(--border);
  border-radius:6px;display:flex;align-items:center;justify-content:center;
  color:var(--primary);flex-shrink:0;transition:background .4s,border-color .4s,color .4s;
}
.perk-ico svg{width:18px;height:18px}
.perk-ttl{font-size:.875rem;font-weight:600;color:var(--text-high);margin-bottom:.2rem}
.perk-dsc{font-size:.8rem;color:var(--text-mid);font-weight:300}
.cont-form{
  background:var(--surface);border:1px solid var(--border);
  border-radius:8px;padding:2.5rem;
  transition:background .4s,border-color .4s;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.fg{margin-bottom:1rem}
.fg label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-low);margin-bottom:.5rem}
.fg input,.fg select,.fg textarea{
  width:100%;background:var(--surface2);border:1px solid var(--border2);border-radius:4px;
  padding:.8rem 1rem;font-family:var(--font-b);font-size:.9rem;color:var(--text-high);
  outline:none;transition:border-color .2s,background .2s,color .4s;cursor:none;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--primary);background:var(--surface3)}
.fg input::placeholder,.fg textarea::placeholder{color:var(--text-label)}
.fg select option{background:var(--surface2)}
.fg textarea{resize:vertical;min-height:120px}
.btn-send{
  width:100%;margin-top:.5rem;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--primary);color:#fff;border:1px solid var(--primary);
  border-radius:4px;padding:.9rem 1.75rem;
  font-family:var(--font-b);font-size:.82rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;cursor:none;
  transition:all .25s,background .4s,border-color .4s,color .4s,box-shadow .4s;
  box-shadow:0 0 28px var(--primary-glow);
}
.btn-send:hover{background:transparent;color:var(--primary);box-shadow:0 0 40px var(--primary-glow)}

/* FOOTER */
footer{background:var(--surface);border-top:1px solid var(--border);padding:3.5rem 4rem 2.5rem;transition:background .4s,border-color .4s}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.foot-logo{font-family:var(--font-d);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--text-high);text-decoration:none;display:block;margin-bottom:.75rem}
.foot-logo span{color:var(--primary);transition:color .4s}
.foot-tag{font-size:.82rem;color:var(--text-low);font-weight:300;line-height:1.6;max-width:220px}
.foot-col h4{font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text-label);margin-bottom:1.25rem}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.foot-col a{font-size:.82rem;color:var(--text-mid);text-decoration:none;font-weight:300;transition:color .2s}
.foot-col a:hover{color:var(--text-high)}
.foot-btm{padding-top:2rem;border-top:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between}
.foot-copy{font-size:.75rem;color:var(--text-low);font-weight:300}
.foot-copy span{color:var(--primary);transition:color .4s}

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:1.25rem 1.5rem}
  .nav-links{display:none}
  .hero{grid-template-columns:1fr}
  .hero-l{padding:6rem 1.5rem 2rem}
  .hero-r{padding:0 1.5rem 5rem}
  section{padding:5rem 1.5rem}
  .exp-hdr,.svc-hdr,.port-hdr,.cont-grid,.foot-grid{grid-template-columns:1fr;gap:2rem}
  .exp-grid,.svc-grid,.port-grid{grid-template-columns:1fr}
  .beh-card{grid-row:auto}
  .form-row{grid-template-columns:1fr}
  footer{padding:3rem 1.5rem}
  .foot-btm{flex-direction:column;gap:.75rem;text-align:center}
  .palette-badge{bottom:1rem;right:1rem}
}