/*
Theme Name: MP Imports
Theme URI: https://mpimportsbrazil.com
Author: MP Imports
Author URI: https://mpimportsbrazil.com
Description: Landing page institucional da MP Imports & Marketing Ltda — tema de página única (front page), com globo 3D interativo, rede de rotas comerciais animada e seletor de idioma PT/ES/EN.
Version: 1.0.0
Requires at least: 5.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mp-imports
*/

/* ============ DESIGN TOKENS — exact palette sampled from the MP Company Profile (black / amber-gold / silver) ============ */
:root{
  --ink:#000000;
  --ink-1:#060606;
  --ink-2:#0d0d0d;

  --gold:#c9a227;
  --gold-bright:#e7a92b;
  --gold-dim:#8b6923;
  --gold-tint:rgba(201,162,39,.10);

  --silver:#c9c8c6;
  --text:#adadad;
  --text-dim:#7a7a7a;

  --border:rgba(201,162,39,.22);
  --border-soft:rgba(201,162,39,.13);

  --success:#3ddc84;
  --shadow-card: 0 12px 30px rgba(0,0,0,.55);
  --shadow-card-lg: 0 20px 50px rgba(0,0,0,.65);
  --shadow-gold: 0 12px 30px -10px rgba(201,162,39,.5);

  --font:'Barlow','Barlow Fallback', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  --radius-pill:999px;
  --radius-card:8px;

  /* type scale — one ratio, applied everywhere */
  --fs-hero:  clamp(2.5rem, 3.4vw + 1.6rem, 4.75rem);
  --fs-h2:    clamp(1.85rem, 1.6vw + 1.3rem, 2.75rem);
  --fs-h3:    1.25rem;
  --fs-quote: clamp(1.75rem, 2.1vw + 1.1rem, 2.75rem);
  --fs-lede:  clamp(1.0625rem, .4vw + .95rem, 1.25rem);
  --fs-prose: 1.0625rem;
  --fs-body:  1rem;
  --fs-body-sm: .9375rem;
  --fs-caption: .8125rem;
  --fs-micro: .75rem;

  /* spacing scale (4px base) */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --section-pad: clamp(4.5rem, 8vw, 7.5rem);

  --container: 1240px;
  --pad: clamp(1.25rem, 4.5vw, 4rem);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--font);
  font-size:var(--fs-body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:var(--font);
  font-weight:700;
  margin:0;
  color:var(--silver);
  text-wrap:balance;
  letter-spacing:-.01em;
  line-height:1.15;
}
h3,h4{line-height:1.3;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
ul{list-style:none;margin:0;padding:0;}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
  position:relative;
}

.eyebrow{
  font-family:var(--font);
  font-size:var(--fs-micro);
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--gold-bright);
  background:var(--gold-tint);
  border:1px solid var(--border);
  display:inline-flex;
  align-items:center;
  padding:.5rem 1.1rem;
  border-radius:var(--radius-pill);
}
/* one rule governs the eyebrow → heading gap everywhere it occurs */
.eyebrow + h2{margin-top:var(--space-4);}

.progress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));
  z-index:1000;
}

.cursor-glow{
  position:fixed; width:360px; height:360px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,162,39,.16), transparent 70%);
  pointer-events:none; z-index:1; mix-blend-mode:screen;
  transform:translate(-50%,-50%);
  transition:opacity .3s ease;
  opacity:0;
}

/* ============ NAV ============ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:500;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem var(--pad);
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
}
.nav.scrolled{
  background:rgba(0,0,0,.86);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--border-soft), 0 12px 30px rgba(0,0,0,.5);
  padding:.9rem var(--pad);
}
.brand{display:flex; align-items:center; gap:var(--space-3);}
.logo-mark{width:42px; height:42px; flex-shrink:0;}
.logo-mark svg{width:100%; height:100%; display:block;}
.brand-text{display:flex; flex-direction:column; line-height:1.2; gap:.2rem;}
.brand-text b{font-size:1.08rem; letter-spacing:-.01em; color:var(--silver); font-weight:800;}
.brand-text span{font-size:var(--fs-micro); letter-spacing:.1em; color:var(--gold-dim); text-transform:uppercase; font-weight:600;}

.nav-right{display:flex; align-items:center; gap:var(--space-6);}

.nav-links{display:flex; align-items:center; gap:var(--space-7);}
.nav-links a{
  font-size:var(--fs-body-sm); font-weight:600; color:var(--text); position:relative; padding:.3rem 0;
  transition:color .25s ease;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:2px;
  background:var(--gold); transition:width .3s ease;
}
.nav-links a:hover{color:var(--silver);}
.nav-links a:hover::after{width:100%;}

.nav-links a.nav-cta{
  font-size:var(--fs-caption); font-weight:700;
  color:var(--ink) !important; background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  padding:.75rem 1.6rem; border-radius:var(--radius-pill);
  box-shadow:0 8px 20px -8px rgba(201,162,39,.65);
  transition:transform .25s ease, box-shadow .25s ease;
}
.nav-links a.nav-cta::after{display:none;}
.nav-links a.nav-cta:hover{transform:translateY(-2px); box-shadow:0 14px 28px -8px rgba(201,162,39,.8);}

/* ============ LANGUAGE SWITCH ============ */
.lang-switch{display:flex; align-items:center; gap:.4rem; flex-shrink:0;}
.lang-btn{
  display:flex; align-items:center; justify-content:center;
  width:30px; height:30px; padding:0; border-radius:50%;
  background:rgba(255,255,255,.03); border:1.5px solid transparent;
  cursor:pointer; transition:border-color .25s ease, background .25s ease, transform .25s ease;
  flex-shrink:0;
}
.lang-btn:hover{background:rgba(255,255,255,.07); transform:translateY(-1px);}
.lang-btn:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
.lang-btn .flag{
  display:block; width:20px; height:20px; border-radius:50%;
  overflow:hidden; box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
}
.lang-btn .flag svg{width:100%; height:100%; display:block;}
.lang-btn[aria-pressed="true"]{border-color:var(--gold); background:var(--gold-tint);}
.lang-btn[aria-pressed="true"] .flag{box-shadow:inset 0 0 0 1px rgba(201,162,39,.5);}

.burger{display:none; width:26px; height:20px; position:relative; flex-shrink:0;}
.burger span{position:absolute; left:0; right:0; height:2px; border-radius:2px; background:var(--silver); transition:all .3s ease;}
.burger span:nth-child(1){top:0;}
.burger span:nth-child(2){top:9px;}
.burger span:nth-child(3){top:18px;}
.burger.open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

.mobile-menu{
  position:fixed; inset:0; z-index:450; background:var(--ink);
  border-top:1px solid var(--border-soft);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-6);
  opacity:0; pointer-events:none; transition:opacity .35s ease;
}
.mobile-menu.open{opacity:1; pointer-events:auto;}
.mobile-menu a{font-size:1.7rem; font-weight:700; color:var(--silver);}
.mobile-menu .nav-cta{margin-top:var(--space-4);}

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex; align-items:center;
  padding-top:7rem;
  padding-bottom:var(--space-9);
  overflow:hidden;
  background:
    radial-gradient(ellipse 70% 55% at 50% 112%, rgba(201,162,39,.26), transparent 60%),
    var(--ink);
}
.hero canvas{position:absolute; inset:0; width:100%; height:100%; opacity:.9;}
.hero-inner{position:relative; z-index:3;}
.hero .eyebrow{margin-bottom:var(--space-5); opacity:0; animation:rise .9s ease .1s forwards;}
.hero h1{
  font-size:var(--fs-hero); font-weight:800; letter-spacing:-.02em; color:var(--silver); line-height:1.05;
  display:flex; flex-direction:column; gap:.05em;
}
.hero h1 .line{overflow:hidden;}
.hero h1 .line span{display:block; opacity:0; transform:translateY(110%); animation:rise-line .9s cubic-bezier(.22,1,.36,1) forwards;}
.hero h1 .line:nth-child(1) span{animation-delay:.25s;}
.hero h1 .line:nth-child(2) span{animation-delay:.4s; color:var(--gold-bright);}
.hero h1 .line:nth-child(3) span{animation-delay:.55s;}

.hero p.lede{
  margin-top:var(--space-6); max-width:560px; color:var(--text); font-size:var(--fs-lede); line-height:1.6;
  opacity:0; animation:rise .9s ease .75s forwards;
}
.hero-ctas{display:flex; flex-wrap:wrap; gap:var(--space-4); margin-top:var(--space-7); opacity:0; animation:rise .9s ease .9s forwards;}

.btn{
  display:inline-flex; align-items:center; gap:.6em;
  font-size:var(--fs-body-sm); font-weight:700;
  padding:1rem 1.9rem; border-radius:var(--radius-pill);
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease, border-color .3s ease, color .3s ease;
}
.btn-block{width:100%; justify-content:center;}
.btn-primary{
  background:linear-gradient(135deg,var(--gold-bright),var(--gold)); color:var(--ink);
  box-shadow:var(--shadow-gold);
}
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 18px 36px -10px rgba(201,162,39,.7);}
.btn-ghost{border:1.5px solid var(--border); color:var(--silver);}
.btn-ghost:hover{border-color:var(--gold); background:var(--gold-tint);}

.scroll-cue{
  position:absolute; bottom:var(--space-6); left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:var(--space-3);
  color:var(--text-dim); font-size:var(--fs-caption); font-weight:700; letter-spacing:.2em;
  z-index:3;
}
.scroll-cue .line{width:2px; height:36px; border-radius:2px; background:linear-gradient(180deg,var(--gold-bright),transparent); animation:scrollpulse 2s ease-in-out infinite;}

@keyframes rise{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}
@keyframes rise-line{to{opacity:1; transform:translateY(0);}}
@keyframes scrollpulse{0%,100%{transform:scaleY(.6); opacity:.4;} 50%{transform:scaleY(1); opacity:1;}}

/* ============ TICKER ============ */
.ticker-strip{
  background:var(--ink-1);
  border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft);
  overflow:hidden; white-space:nowrap; position:relative; z-index:2;
}
.ticker-track{display:inline-flex; animation:ticker 32s linear infinite;}
.ticker-track span{
  font-size:var(--fs-caption); font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-dim); padding:var(--space-4) var(--space-6); display:inline-flex; align-items:center; gap:var(--space-6);
}
.ticker-track span b{color:var(--gold-bright); font-weight:800;}
.ticker-track span b::after{content:"◆"; color:var(--gold-dim); margin-left:var(--space-6); font-size:.7rem;}
@keyframes ticker{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ============ SECTION SHELL ============ */
.section{position:relative; padding:var(--section-pad) 0;}
.section-alt{background:var(--ink-1);}
.section-head{max-width:680px; margin-bottom:clamp(2.75rem, 4vw, 3.75rem);}
.section-head p:not(.eyebrow){margin-top:var(--space-4); color:var(--text); font-size:var(--fs-lede); line-height:1.6;}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger.in > *{transition-delay:calc(var(--i,0) * 90ms);}

/* ============ WHO WE ARE ============ */
.who-grid{display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(2.5rem, 5vw, 4.5rem); align-items:center;}
.who-copy h2{max-width:600px;}
.who-copy-body{margin-top:var(--space-6); display:flex; flex-direction:column; gap:var(--space-4);}
.who-copy-body p{color:var(--text); font-size:var(--fs-prose); line-height:1.65;}
.who-copy-body p.accent{color:var(--gold-bright); font-style:italic; font-size:var(--fs-h3); font-weight:700; line-height:1.4; margin-top:var(--space-2);}

.globe-wrap{
  width:100%; max-width:680px; aspect-ratio:1; margin:0 auto; position:relative;
}
.globe-canvas{position:absolute; inset:0; width:100%; height:100%; display:block; cursor:grab;}
.globe-canvas:active{cursor:grabbing;}

.pmv{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-6); margin-top:clamp(3rem, 6vw, 5rem); border-top:1px solid var(--border-soft);}
.pmv-item{padding:var(--space-6) var(--space-5) 0; border-right:1px solid var(--border-soft); display:flex; flex-direction:column; gap:var(--space-3); min-width:0;}
.pmv-item:last-child{border-right:none;}
.pmv-icon{width:34px; height:34px; color:var(--gold);}
.pmv-icon svg{width:100%; height:100%;}
.pmv-item h3{font-size:var(--fs-h3);}
.pmv-item p{color:var(--text); font-size:var(--fs-body-sm); line-height:1.6;}

/* ============ SERVICES ============ */
.services-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5);}
.service{
  display:flex; gap:var(--space-5); padding:var(--space-6); border-radius:var(--radius-card);
  background:var(--ink-2); border:1px solid var(--border-soft); box-shadow:var(--shadow-card);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  min-width:0;
}
.service:hover{transform:translateY(-4px); box-shadow:var(--shadow-card-lg); border-color:var(--border);}
.service-icon{
  width:40px; height:40px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  color:var(--gold);
}
.service-icon svg{width:26px; height:26px;}
.service-body{display:flex; flex-direction:column; gap:var(--space-2); min-width:0;}
.service h3{font-size:var(--fs-h3); font-weight:700; letter-spacing:-.01em;}
.service p{color:var(--text); font-size:var(--fs-body-sm); line-height:1.6;}

/* ============ APPROACH ============ */
.approach-wrap{position:relative;}
.approach-line{
  position:absolute; left:0; right:0; top:23px; height:2px; background:var(--border-soft); z-index:0;
}
.approach-line-fill{
  position:absolute; left:0; top:0; height:100%; width:0%;
  background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));
  transition:width 1.4s cubic-bezier(.22,1,.36,1);
}
.approach-steps{display:grid; grid-template-columns:repeat(7,1fr); gap:var(--space-5); position:relative; z-index:1;}
.step{display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-3); min-width:0;}
.step p{min-width:0; overflow-wrap:break-word;}
.step-num{
  width:46px; height:46px; border-radius:50%; background:var(--ink);
  border:2px solid var(--gold); display:flex; align-items:center; justify-content:center;
  color:var(--gold); flex-shrink:0; position:relative;
  animation: stepPulse 2.6s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * .22s);
}
.step-num svg{width:20px; height:20px; transform-box:fill-box; transform-origin:center;}
.step h4{font-size:var(--fs-micro); font-weight:800; letter-spacing:.08em; color:var(--gold-dim); text-transform:uppercase;}
.step p{font-size:var(--fs-body); color:var(--silver); font-weight:700; line-height:1.4;}

@keyframes stepPulse{0%,100%{ box-shadow:0 0 0 0 rgba(201,162,39,.4); } 50%{ box-shadow:0 0 12px 3px rgba(201,162,39,.35); }}
@keyframes fxSearch{0%,100%{ transform:rotate(0deg) translateX(0); } 50%{ transform:rotate(-12deg) translateX(-1px); }}
.fx-search{ animation:fxSearch 2.6s ease-in-out infinite; animation-delay: calc(var(--i,0) * .22s); }
@keyframes fxBulb{0%,100%{ opacity:.7; filter:drop-shadow(0 0 0 rgba(231,169,43,0)); } 50%{ opacity:1; filter:drop-shadow(0 0 5px rgba(231,169,43,.9)); }}
.fx-bulb{ animation:fxBulb 2.1s ease-in-out infinite; animation-delay: calc(var(--i,0) * .22s); }
@keyframes fxBreathe{0%,100%{ transform:scale(1); } 50%{ transform:scale(1.14); }}
.fx-people{ animation:fxBreathe 2.8s ease-in-out infinite; animation-delay: calc(var(--i,0) * .22s); }
@keyframes fxBob{0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-2.5px); }}
.fx-doc{ animation:fxBob 2.4s ease-in-out infinite; animation-delay: calc(var(--i,0) * .22s); }
@keyframes fxSpin{ to{ transform:rotate(360deg); } }
.fx-globe{ animation:fxSpin 6s linear infinite; }
@keyframes fxPingOuter{0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.16); opacity:.55; }}
@keyframes fxPingMid{0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.24); opacity:.5; }}
.ring-outer{ transform-box:fill-box; transform-origin:center; animation:fxPingOuter 2.4s ease-in-out infinite; }
.ring-mid{ transform-box:fill-box; transform-origin:center; animation:fxPingMid 2.4s ease-in-out infinite .3s; }
@keyframes fxDraw{0%{ stroke-dashoffset:60; opacity:.4; } 55%{ stroke-dashoffset:0; opacity:1; } 100%{ stroke-dashoffset:0; opacity:.4; }}
.fx-chart{ stroke-dasharray:60; animation:fxDraw 2.8s ease-in-out infinite; animation-delay: calc(var(--i,0) * .18s); }

/* ============ icon micro-animations — Propósito/Missão/Visão, O Que Fazemos, Nossos Valores ============ */
@keyframes fxBobY{0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-3px); }}
.fx-bob{ animation:fxBobY 2.4s ease-in-out infinite; animation-delay: calc(var(--i,0) * .18s); }
@keyframes fxWobble{0%,100%{ transform:rotate(0deg); } 50%{ transform:rotate(9deg); }}
.fx-wobble{ animation:fxWobble 2.6s ease-in-out infinite; animation-delay: calc(var(--i,0) * .18s); }
@keyframes fxGlowPulse{0%,100%{ opacity:.78; filter:drop-shadow(0 0 0 rgba(231,169,43,0)); } 50%{ opacity:1; filter:drop-shadow(0 0 5px rgba(231,169,43,.85)); }}
.fx-glow{ animation:fxGlowPulse 2.4s ease-in-out infinite; animation-delay: calc(var(--i,0) * .18s); }
@keyframes fxWaveOpacity{0%,100%{ opacity:.4; } 50%{ opacity:1; }}
.fx-wave{ animation:fxWaveOpacity 1.7s ease-in-out infinite; animation-delay: calc(var(--i,0) * .18s); }
@keyframes fxHeartbeat{0%,100%{ transform:scale(1); } 20%{ transform:scale(1.18); } 35%{ transform:scale(1); } 50%{ transform:scale(1.12); } 65%{ transform:scale(1); }}
.fx-heartbeat{ animation:fxHeartbeat 2.6s ease-in-out infinite; animation-delay: calc(var(--i,0) * .18s); }
.pmv-icon svg, .service-icon svg, .value-icon svg{ transform-box:fill-box; transform-origin:center; }
@media (prefers-reduced-motion: reduce){
  .step-num, .fx-search, .fx-bulb, .fx-people, .fx-doc, .fx-globe, .ring-outer, .ring-mid, .fx-chart,
  .fx-bob, .fx-wobble, .fx-glow, .fx-wave, .fx-heartbeat{ animation:none !important; }
}

/* ============ PROOF / OPERATIONS GALLERY ============ */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:170px; gap:var(--space-4);}
.gallery-item{
  position:relative; border-radius:var(--radius-card); overflow:hidden;
  border:1px solid var(--border-soft); background:var(--ink-2);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.gallery-item:hover{transform:translateY(-4px); box-shadow:var(--shadow-card-lg); border-color:var(--gold);}
.gallery-item.large{grid-column:span 2; grid-row:span 2;}
.gallery-item img, .gallery-item video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:saturate(.92) contrast(1.04); transition:transform .5s ease;
}
.gallery-item:hover img, .gallery-item:hover video{transform:scale(1.04);}
.gallery-caption{
  position:absolute; left:0; right:0; bottom:0; padding:var(--space-4);
  background:linear-gradient(0deg, rgba(0,0,0,.85), rgba(0,0,0,.15) 65%, transparent);
}
.gallery-caption .loc{display:block; font-size:var(--fs-caption); font-weight:700; color:var(--gold-bright); letter-spacing:.01em;}
.gallery-caption .desc{display:block; font-size:var(--fs-micro); color:var(--text); margin-top:.15rem;}
.gallery-credits{margin-top:var(--space-5); font-size:var(--fs-micro); color:var(--text-dim); text-align:center;}
.gallery-credits a{color:var(--text); text-decoration:underline; text-underline-offset:2px;}
.gallery-credits a:hover{color:var(--gold-bright);}

/* ============ VALUES ============ */
.charter{
  border:1px solid var(--border); border-radius:16px; padding:clamp(2.5rem, 5vw, 3.5rem);
  background:var(--ink-2); box-shadow:var(--shadow-card);
}
.charter-title{text-align:center; margin-bottom:var(--space-8);}
.values-row{display:flex; flex-wrap:wrap; justify-content:center;}
.value{
  flex:1 1 160px; text-align:center; padding:0 var(--space-5); border-right:1px solid var(--border-soft);
  display:flex; flex-direction:column; align-items:center; gap:var(--space-4);
}
.value:last-child{border-right:none;}
.value-icon{width:32px; height:32px; color:var(--gold);}
.value-icon svg{width:100%; height:100%;}
.value span{font-size:var(--fs-micro); font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--text);}

/* ============ MANIFESTO ============ */
.manifesto{
  background:
    radial-gradient(ellipse 65% 60% at 50% 40%, rgba(201,162,39,.2), transparent 68%),
    var(--ink);
  padding:clamp(5rem, 11vw, 9rem) 0;
  position:relative; overflow:hidden;
  border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft);
}
.manifesto blockquote{
  max-width:820px; margin:0 auto; text-align:center;
  font-size:var(--fs-quote); line-height:1.22; font-weight:800; color:var(--silver);
}
.manifesto blockquote .q{color:var(--text-dim); font-size:.6em;}
.manifesto blockquote .hl{color:var(--gold-bright);}

/* ============ CONTACT ============ */
.contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2.5rem, 5vw, 4.5rem);}
.contact-grid > *{min-width:0;}
.contact-intro{color:var(--text); margin-top:var(--space-4); font-size:var(--fs-prose); line-height:1.6;}
.contact-list{display:flex; flex-direction:column; gap:var(--space-5); margin-top:var(--space-7);}
.contact-row{display:flex; align-items:center; gap:var(--space-4); min-width:0;}
.contact-row .ic{
  width:42px; height:42px; border-radius:var(--radius-card); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; color:var(--gold); flex-shrink:0;
}
.contact-row .ic svg{width:18px; height:18px;}
.contact-row > span:not(.ic){min-width:0;}
.contact-row a, .contact-row span{font-size:var(--fs-body); font-weight:600; color:var(--silver);}
.contact-row a{overflow-wrap:anywhere;}
.contact-row a:hover{color:var(--gold-bright);}
.contact-row small{display:block; font-size:var(--fs-caption); font-weight:700; letter-spacing:.08em; color:var(--text-dim); text-transform:uppercase; margin-bottom:.2rem;}

.form-card{
  border:1px solid var(--border); border-radius:16px; padding:clamp(1.75rem, 4vw, 3rem); background:var(--ink-2);
  box-shadow:var(--shadow-card-lg);
}
.field{margin-bottom:var(--space-5); display:flex; flex-direction:column; gap:var(--space-2);}
.field:last-of-type{margin-bottom:var(--space-6);}
.field label{font-size:var(--fs-caption); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim);}
.field input, .field textarea{
  background:var(--ink); border:1.5px solid var(--border-soft); border-radius:var(--radius-card);
  padding:.9rem 1rem; color:var(--silver); font-family:var(--font); font-size:var(--fs-body);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.field input::placeholder, .field textarea::placeholder{color:var(--text-dim);}
.field input:focus, .field textarea:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(201,162,39,.15);
}
.field textarea{resize:vertical; min-height:110px;}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5);}
.form-note{font-size:var(--fs-caption); color:var(--text-dim); margin-top:var(--space-4);}
.form-success{
  display:none; align-items:center; gap:var(--space-2); color:var(--success);
  font-size:var(--fs-body-sm); font-weight:700; margin-top:var(--space-4);
}
.form-success.show{display:flex;}

/* ============ FOOTER ============ */
footer{padding:clamp(3.5rem, 7vw, 5.5rem) 0 var(--space-6); background:var(--ink-1);}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--space-7); padding-bottom:var(--space-7); border-bottom:1px solid var(--border-soft);}
.footer-brand p{color:var(--text); margin-top:var(--space-5); max-width:320px; font-size:var(--fs-body-sm); line-height:1.6;}
.footer-col h5{font-size:var(--fs-caption); font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:var(--space-5);}
.footer-col ul{display:flex; flex-direction:column; gap:var(--space-3);}
.footer-col a{color:var(--text); font-size:var(--fs-body-sm); font-weight:500; transition:color .2s ease;}
.footer-col a:hover{color:var(--gold-bright);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:var(--space-6); flex-wrap:wrap; gap:var(--space-4);}
.footer-bottom p{font-size:var(--fs-caption); color:var(--text-dim);}
.social-row{display:flex; gap:var(--space-3);}
.social-row a{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--border-soft);
  display:flex; align-items:center; justify-content:center; color:var(--text);
  transition:all .25s ease;
}
.social-row a:hover{border-color:var(--gold); color:var(--gold-bright); background:var(--gold-tint);}
.social-row svg{width:15px; height:15px;}
.footer-logo-mark{width:56px; height:56px; margin-bottom:var(--space-5);}
.footer-logo-mark svg{width:100%; height:100%; display:block;}
.footer-brand h3{color:var(--silver); font-size:var(--fs-h3);}

/* ============ RESPONSIVE ============ */
@media (max-width:1180px) and (min-width:981px){
  .approach-steps{grid-template-columns:repeat(4,1fr); row-gap:var(--space-7);}
  .approach-line{display:none;}
}
@media (max-width:980px){
  .nav-links{display:none;}
  .burger{display:block;}
  .who-grid{grid-template-columns:1fr; gap:var(--space-7);}
  .globe-wrap{order:-1; max-width:420px;}
  .pmv{grid-template-columns:1fr; gap:var(--space-6);}
  .pmv-item{border-right:none; border-bottom:1px solid var(--border-soft); padding-bottom:var(--space-6);}
  .pmv-item:last-child{border-bottom:none; padding-bottom:0;}
  .services-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px;}
  .gallery-item.large{grid-column:span 2; grid-row:span 1;}
  .approach-steps{grid-template-columns:1fr; gap:var(--space-6);}
  .approach-line{display:none;}
  .step{flex-direction:row; align-items:center;}
  .contact-grid{grid-template-columns:1fr; gap:var(--space-8);}
  .two-col{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr; gap:var(--space-7);}
  .value{flex:1 1 40%; border-right:none; margin-bottom:var(--space-5);}
}
@media (max-width:560px){
  .hero-ctas{flex-direction:column; align-items:stretch;}
  .charter{padding:2rem 1.25rem;}
  .value{flex:1 1 100%;}
  .gallery-grid{grid-template-columns:1fr; grid-auto-rows:180px;}
  .gallery-item.large{grid-column:span 1;}
}
