/* =================================================================
   BRUNO PORTIGLIATTI — Black & Gold Statesman Theme
   Display: Montserrat  |  Body / Editorial: Manrope
   ================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800;900&family=Manrope:wght@300;400;500;600;700&display=swap');

:root{
  --ink:        #07070a;
  --ink-2:      #0c0c11;
  --panel:      #111119;
  --panel-2:    #16161f;
  --line:       rgba(201,162,75,.18);
  --line-soft:  rgba(255,255,255,.07);

  --gold-1:     #f6e7b4;
  --gold-2:     #d9b15f;
  --gold-3:     #c9a24b;
  --gold-4:     #9a6f2a;
  --gold-grad:  linear-gradient(115deg,#f9efc6 0%,#e3c277 28%,#c9a24b 55%,#9a6f2a 78%,#e9d18a 100%);

  --cream:      #f3eee3;
  --muted:      #a39b8c;
  --muted-2:    #6f6a60;

  --maxw: 1240px;
  --ease: cubic-bezier(.22,1,.36,1);
  --shadow-deep: 0 40px 90px -30px rgba(0,0,0,.85);
  --shadow-gold: 0 30px 70px -28px rgba(201,162,75,.35);
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--ink);
  color:var(--cream);
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:400;
  line-height:1.7;
  letter-spacing:.01em;
  overflow-x:hidden;
  position:relative;
  -webkit-font-smoothing:antialiased;
}

/* grain + ambient gold glow over the whole page */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(900px 600px at 82% -8%, rgba(201,162,75,.10), transparent 60%),
    radial-gradient(700px 700px at -10% 110%, rgba(201,162,75,.06), transparent 55%);
}
body::after{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
main, footer, header{ position:relative; z-index:1; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--gold-3); color:#1a1408; }

/* ---------- shared type ---------- */
.eyebrow{
  font-family:'Manrope',sans-serif; font-weight:600;
  font-size:.72rem; letter-spacing:.42em; text-transform:uppercase;
  color:var(--gold-3); display:inline-flex; align-items:center; gap:0;
}
.eyebrow::before{ display:none; }
.eyebrow.center::before{ display:none; }

.display{
  font-family:'Montserrat',sans-serif; font-weight:800; line-height:1.04;
  letter-spacing:.01em; text-transform:uppercase;
}
.gold-text{
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  background-size:230% auto; animation:goldsheen 7s ease-in-out infinite;
}
@keyframes goldsheen{ 0%,100%{ background-position:0% center; } 50%{ background-position:100% center; } }
.lead{
  font-family:'Manrope',system-ui,sans-serif; font-weight:400; font-size:clamp(1.15rem,2vw,1.45rem);
  line-height:1.6; color:#d9d3c6; font-optical-sizing:auto;
}
.section{ padding:clamp(3rem,5.5vw,5.5rem) 0; }
.wrap{ width:min(var(--maxw),92%); margin-inline:auto; }
.tline{ font-family:'Manrope',system-ui,sans-serif; font-style:italic; color:var(--gold-2); }

/* =================================================================
   HEADER / NAV
   ================================================================= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:#07070a;
  border-bottom:1px solid rgba(201,162,75,.18);
  transition:padding .4s var(--ease);
  padding:1.1rem 0;
}
.site-header.scrolled{ padding:.85rem 0; }
.nav{ width:min(var(--maxw),92%); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; }
.brand{
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:1.02rem; letter-spacing:.22em;
  text-transform:uppercase; display:flex; align-items:center; gap:.7rem; line-height:1;
}
.brand img{
  height:26px; width:auto; display:block;
  transition:height .4s var(--ease), filter .4s var(--ease);
  filter:drop-shadow(0 2px 10px rgba(201,162,75,.18));
}
.site-header.scrolled .brand img{ height:22px; }
.brand:hover img{ filter:drop-shadow(0 2px 16px rgba(201,162,75,.45)); }
.brand .mark{
  width:34px; height:34px; border:1px solid var(--gold-3); border-radius:50%;
  display:grid; place-items:center; font-size:.85rem; color:var(--gold-2);
  background:radial-gradient(circle at 35% 30%, rgba(201,162,75,.25), transparent);
  transition:transform .5s var(--ease), box-shadow .5s;
}
.brand:hover .mark{ transform:rotate(-12deg); box-shadow:0 0 22px rgba(201,162,75,.5); }
.brand b{ font-weight:700; }
.brand .gold-text{ font-weight:700; }

.menu{ display:flex; align-items:center; gap:2.1rem; list-style:none; }
.menu a{
  font-size:.82rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  color:var(--muted); position:relative; padding:.3rem 0; transition:color .35s;
}
.menu a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:1px; width:0;
  background:var(--gold-grad); transition:width .4s var(--ease);
}
.menu a:hover, .menu a.active{ color:var(--cream); }
.menu a:hover::after, .menu a.active::after{ width:100%; }

.nav-cta{
  font-family:'Manrope',sans-serif; font-size:.78rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-1); border:1px solid var(--gold-3);
  padding:.7rem 1.4rem; border-radius:999px; transition:all .4s var(--ease);
  background:linear-gradient(transparent,transparent);
}
.nav-cta:hover{ background:var(--gold-grad); color:#1a1408; box-shadow:0 12px 30px -10px rgba(201,162,75,.6); }

.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:.4rem; z-index:120; }
.burger span{ width:26px; height:2px; background:var(--gold-2); transition:.35s var(--ease); transform-origin:center; }
.burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* mobile drawer */
.mobile-nav{
  position:fixed; inset:0; z-index:110; background:rgba(5,5,8,.97);
  backdrop-filter:blur(14px); display:flex; flex-direction:column; justify-content:center;
  align-items:center; gap:1.6rem; opacity:0; pointer-events:none;
  transition:opacity .45s var(--ease); padding:5rem 2rem;
}
.mobile-nav.open{ opacity:1; pointer-events:auto; }
.mobile-nav a{
  font-family:'Montserrat',sans-serif; font-size:1.55rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); transition:color .3s, transform .3s;
}
.mobile-nav a.active, .mobile-nav a:hover{ color:var(--gold-2); }
.mobile-nav .m-meta{ margin-top:1.5rem; font-size:.85rem; color:var(--muted); letter-spacing:.1em; }

/* =================================================================
   HERO
   ================================================================= */
.hero{
  min-height:100vh; display:flex; align-items:center; position:relative;
  padding:9rem 0 4rem; overflow:hidden;
}
.hero-grid{
  width:min(var(--maxw),92%); margin-inline:auto; display:grid;
  grid-template-columns:.82fr 1.32fr; gap:clamp(1.5rem,3.5vw,3.5rem); align-items:center;
}
.hero-name{
  font-family:'Montserrat',sans-serif; font-weight:900; text-transform:uppercase;
  font-size:clamp(2.5rem,6.2vw,5.4rem); line-height:.94; letter-spacing:.005em; margin:1.4rem 0 1.3rem;
}
.hero-name span{ display:block; }
.hero-name .gold-text{
  background:linear-gradient(125deg,#bd9344 0%,#8c6125 52%,#a87f33 100%);
  -webkit-background-clip:text; background-clip:text; background-size:auto;
  animation:none;
}
.hero-roles{
  display:flex; flex-wrap:wrap; gap:.6rem 1.3rem; margin:2rem 0 2.4rem;
  font-size:.82rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.hero-roles span{ display:inline-flex; align-items:center; gap:1.3rem; }
.hero-roles span:not(:last-child)::after{ content:""; width:5px; height:5px; border-radius:50%; background:var(--gold-3); }
.hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:.5rem; }

.hero-portrait{ position:relative; }
.hero-portrait .frame{
  position:relative; border-radius:6px; overflow:hidden;
  box-shadow:var(--shadow-deep); border:1px solid var(--line);
}
.hero-portrait .frame::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(7,7,10,.55), transparent 45%);
}
.hero-portrait img{ width:100%; aspect-ratio:733/1024; object-fit:cover; object-position:top center; }
.hero-portrait .badge{
  position:absolute; left:-26px; bottom:42px; z-index:3;
  background:var(--ink-2); border:1px solid var(--line); border-radius:4px;
  padding:1rem 1.3rem; box-shadow:var(--shadow-deep);
}
.hero-portrait .badge .num{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:2rem; line-height:1; }
.hero-portrait .badge .lbl{ font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); margin-top:.35rem; }
.hero-portrait .ring{
  position:absolute; right:-30px; top:-30px; width:130px; height:130px; border-radius:50%;
  border:1px solid var(--line); z-index:-1;
}
.scroll-cue{
  position:absolute; left:50%; bottom:2rem; transform:translateX(-50%);
  font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted-2);
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
}
.scroll-cue .bar{ width:1px; height:46px; background:linear-gradient(var(--gold-3),transparent); animation:cue 2.2s var(--ease) infinite; }
@keyframes cue{ 0%,100%{ transform:scaleY(.4); opacity:.4; transform-origin:top; } 50%{ transform:scaleY(1); opacity:1; transform-origin:top; } }

/* =================================================================
   BUTTONS
   ================================================================= */
.btn{
  --bw:1px;
  display:inline-flex; align-items:center; gap:.7rem; cursor:pointer;
  font-family:'Manrope',sans-serif; font-size:.8rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; padding:1rem 1.9rem; border-radius:999px;
  transition:all .45s var(--ease); border:var(--bw) solid var(--gold-3);
}
.btn .arr{ transition:transform .4s var(--ease); }
.btn:hover .arr{ transform:translateX(5px); }
.btn-gold{ background:var(--gold-grad); color:#19130a; box-shadow:0 16px 38px -14px rgba(201,162,75,.55); border-color:transparent; }
.btn-gold:hover{ box-shadow:0 22px 50px -14px rgba(201,162,75,.75); transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--gold-1); }
.btn-ghost:hover{ background:rgba(201,162,75,.08); transform:translateY(-2px); }

/* =================================================================
   SECTION HEADINGS
   ================================================================= */
.sec-head{ max-width:760px; margin-bottom:3.4rem; }
.sec-head.center{ margin-inline:auto; text-align:center; }
.sec-title{
  font-family:'Montserrat',sans-serif; font-weight:700; text-transform:uppercase;
  font-size:clamp(1.9rem,4vw,3rem); line-height:1.08; margin:1.1rem 0 1.2rem; letter-spacing:.01em;
}
.sec-head p{ color:var(--muted); font-size:1.02rem; max-width:60ch; }
.sec-head.center p{ margin-inline:auto; }

/* =================================================================
   ABOUT / INTRO SPLIT
   ================================================================= */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,5.5rem); align-items:center; }
.split.rev{ direction:rtl; } .split.rev > *{ direction:ltr; }
.split-media{ position:relative; }
.split-media img{ width:100%; border-radius:5px; box-shadow:var(--shadow-deep); border:1px solid var(--line); object-fit:cover; }
.split-media .cap{
  position:absolute; bottom:-1px; left:-1px; right:-1px; padding:1.5rem 1.4rem .9rem;
  background:linear-gradient(transparent, rgba(7,7,10,.92)); font-family:'Manrope',system-ui,sans-serif;
  font-style:italic; color:var(--gold-1); font-size:.95rem;
}
.prose p{ color:#cfc9bc; margin-bottom:1.25rem; }
.prose p:first-of-type{ font-family:'Manrope',system-ui,sans-serif; font-size:1.22rem; color:#e7e1d4; line-height:1.55; }
.prose strong{ color:var(--gold-1); font-weight:600; }

/* =================================================================
   STAT STRIP
   ================================================================= */
.stats{ border-block:1px solid var(--line); }
.stats .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }
.stat{ background:var(--ink); padding:2.6rem 1.6rem; text-align:center; transition:background .5s; }
.stat:hover{ background:var(--ink-2); }
.stat .n{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(2.2rem,4vw,3.1rem); line-height:1; }
.stat .l{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:.8rem; }

/* =================================================================
   PILLARS (roles cards)
   ================================================================= */
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.pillar{
  position:relative; padding:2.4rem 2rem; border:1px solid var(--line-soft); border-radius:6px;
  background:linear-gradient(160deg,var(--panel),var(--ink-2)); overflow:hidden;
  transition:transform .5s var(--ease), border-color .5s, box-shadow .5s;
}
.pillar::before{
  content:""; position:absolute; inset:0; opacity:0; transition:opacity .5s;
  background:radial-gradient(420px 200px at 50% -20%, rgba(201,162,75,.16), transparent 70%);
}
.pillar:hover{ transform:translateY(-7px); border-color:var(--line); box-shadow:var(--shadow-gold); }
.pillar:hover::before{ opacity:1; }
.pillar .ix{ font-family:'Montserrat',sans-serif; font-size:.85rem; color:var(--gold-3); letter-spacing:.2em; }
.pillar h3{ font-family:'Manrope',system-ui,sans-serif; font-weight:500; font-size:1.5rem; margin:1rem 0 .7rem; color:var(--cream); }
.pillar p{ color:var(--muted); font-size:.96rem; }
.pillar .role{ display:block; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-3); margin-top:1.3rem; }

/* =================================================================
   VENTURES GRID
   ================================================================= */
.ventures{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.venture{
  position:relative; border:1px solid var(--line-soft); border-radius:6px;
  background:var(--panel); display:grid; place-items:center; padding:13px; overflow:hidden;
  transition:transform .45s var(--ease), border-color .45s, background .45s;
}
.venture img{
  width:100%; height:124px; object-fit:contain;
  background:#fff; padding:16px 22px; border-radius:10px;
  box-shadow:0 10px 26px rgba(0,0,0,.45);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.venture .vname{
  position:absolute; left:0; right:0; bottom:0; padding:.8rem; text-align:center;
  font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-2);
  background:linear-gradient(transparent,rgba(7,7,10,.9)); opacity:0; transform:translateY(8px);
  transition:.45s var(--ease);
}
.venture:hover{ transform:translateY(-6px); border-color:var(--line); background:var(--ink-2); box-shadow:var(--shadow-gold); }
.venture:hover img{ transform:scale(1.05) translateY(-5px); box-shadow:0 16px 34px rgba(0,0,0,.55); }
.venture:hover .vname{ opacity:1; transform:translateY(0); }

/* =================================================================
   CAUSES
   ================================================================= */
.causes{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.7rem; }
.cause{
  border:1px solid var(--line-soft); border-radius:7px; overflow:hidden; background:var(--panel);
  display:flex; flex-direction:column; transition:transform .5s var(--ease), border-color .5s, box-shadow .5s;
}
.cause .ph{ aspect-ratio:16/10; overflow:hidden; position:relative; background:var(--ink-2); }
.cause .ph img{ width:100%; height:100%; object-fit:contain; padding:1.4rem; transition:transform .7s var(--ease); }
.cause .ph.cover img{ object-fit:cover; padding:0; }
.cause .ph.fof-thumb{ background:#1d5ba1; }
.cause .ph.fof-thumb img{ object-fit:contain; padding:0; }
.cause .ph.nbg-thumb{ background:#fff; }
.cause .ph.nbg-thumb img{ object-fit:contain; padding:0; }
.cause .bd{ padding:1.8rem 1.7rem 2rem; flex:1; display:flex; flex-direction:column; }
.cause h3{ font-family:'Manrope',system-ui,sans-serif; font-weight:500; font-size:1.4rem; margin-bottom:.7rem; }
.cause p{ color:var(--muted); font-size:.94rem; flex:1; }
.cause .lnk{ margin-top:1.4rem; font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-2); display:inline-flex; gap:.5rem; }
.cause:hover{ transform:translateY(-7px); border-color:var(--line); box-shadow:var(--shadow-gold); }
.cause:hover .ph img{ transform:scale(1.05); }
.cause .lnk .arr{ transition:transform .4s var(--ease); }
.cause:hover .lnk .arr{ transform:translateX(5px); }

/* =================================================================
   FLAGS OF FELLOWSHIP feature
   ================================================================= */
.fof{
  max-width:940px; margin-inline:auto; border:1px solid var(--line); border-radius:14px;
  overflow:hidden; background:var(--panel); box-shadow:var(--shadow-deep);
}
.fof-banner{ background:#1d5ba1; line-height:0; border-bottom:1px solid var(--line); }
.fof-banner img{ width:100%; height:auto; display:block; }
.fof-body{ padding:clamp(2rem,4.5vw,3.2rem); text-align:center; }
.fof-body .eyebrow{ justify-content:center; }
.fof-body h3{ font-family:'Manrope',system-ui,sans-serif; font-weight:500; font-size:clamp(1.6rem,3vw,2.25rem); margin:1rem 0 1.1rem; color:var(--cream); }
.fof-body p{ color:var(--muted); max-width:64ch; margin:0 auto 1rem; }
.fof-body .btn{ margin-top:1.4rem; }

/* =================================================================
   ARTICLE CARD / LIST
   ================================================================= */
.article-feat{
  display:grid; grid-template-columns:1.1fr .9fr; gap:0; border:1px solid var(--line);
  border-radius:8px; overflow:hidden; background:var(--panel);
}
.article-feat .ph{ overflow:hidden; min-height:340px; }
.article-feat .ph img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .8s var(--ease); }
.article-feat:hover .ph img{ transform:scale(1.05); }
.article-feat .bd{ padding:clamp(2rem,4vw,3.4rem); display:flex; flex-direction:column; justify-content:center; }
.article-feat .date{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-3); }
.article-feat h3{ font-family:'Manrope',system-ui,sans-serif; font-weight:500; font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1.18; margin:1rem 0 1.1rem; }
.article-feat p{ color:var(--muted); margin-bottom:1.6rem; }

/* article body (single) */
.article-body{ max-width:760px; margin-inline:auto; }
.article-body p{ font-family:'Manrope',system-ui,sans-serif; font-size:1.16rem; line-height:1.75; color:#d8d2c5; margin-bottom:1.5rem; }
.article-body p:first-of-type::first-letter{
  font-family:inherit; font-weight:inherit; float:none; font-size:inherit; line-height:inherit;
  padding:0; background:none; -webkit-background-clip:initial; background-clip:initial; -webkit-text-fill-color:initial; color:inherit;
}
.article-hero{
  border-radius:8px; overflow:hidden; margin:0 0 3rem; box-shadow:var(--shadow-deep); border:1px solid var(--line);
  max-width:980px; margin-inline:auto;
}
.article-hero img{ width:100%; max-height:520px; object-fit:contain; object-position:center top; background:var(--ink-2); }

/* =================================================================
   MEDIA GALLERY (masonry-ish)
   ================================================================= */
.gallery{ columns:3; column-gap:1.1rem; }
.gallery figure{
  break-inside:avoid; margin-bottom:1.1rem; border-radius:6px; overflow:hidden;
  position:relative; border:1px solid var(--line-soft); cursor:pointer;
}
.gallery img{ width:100%; transition:transform .8s var(--ease), filter .6s; filter:brightness(.92); }
.gallery figure::after{
  content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(201,162,75,.0),transparent);
  transition:background .5s; pointer-events:none;
}
.gallery figure:hover img{ transform:scale(1.06); filter:brightness(1.05); }
.gallery figure:hover::after{ background:linear-gradient(to top,rgba(201,162,75,.16),transparent 60%); }

/* speaking band */
.band{
  position:relative; border-radius:10px; overflow:hidden; border:1px solid var(--line);
  background:var(--ink-2); padding:clamp(3rem,7vw,6rem) clamp(1.6rem,5vw,5rem); text-align:center;
}
.band::before{
  content:""; position:absolute; inset:0; opacity:.16;
  background:radial-gradient(700px 320px at 50% 0%, rgba(201,162,75,.5), transparent 70%);
}
.band > *{ position:relative; }
.band h2{ font-family:'Montserrat',sans-serif; font-weight:800; text-transform:uppercase; font-size:clamp(2rem,5vw,3.6rem); line-height:1.05; margin:1rem 0 1.3rem; }

/* =================================================================
   CONTACT
   ================================================================= */
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2.5rem,5vw,5rem); }
.info-item{ padding:1.6rem 0; border-bottom:1px solid var(--line-soft); }
.info-item:first-child{ border-top:1px solid var(--line-soft); }
.info-item .k{ font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-3); }
.info-item .v{ font-family:'Manrope',system-ui,sans-serif; font-size:1.3rem; margin-top:.45rem; color:var(--cream); }
.info-item a.v:hover{ color:var(--gold-2); }
.socials{ display:flex; gap:.9rem; margin-top:2rem; }
.socials a{
  width:46px; height:46px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center;
  color:var(--gold-2); transition:all .4s var(--ease);
}
.socials a:hover{ background:var(--gold-grad); color:#19130a; transform:translateY(-3px); box-shadow:0 12px 26px -8px rgba(201,162,75,.6); }
.socials svg{ width:18px; height:18px; }

.form{ background:linear-gradient(160deg,var(--panel),var(--ink-2)); border:1px solid var(--line-soft); border-radius:9px; padding:clamp(1.8rem,3.5vw,2.8rem); }
.field{ margin-bottom:1.3rem; }
.field label{ display:block; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:.55rem; }
.field input, .field textarea{
  width:100%; background:rgba(0,0,0,.35); border:1px solid var(--line-soft); border-radius:5px;
  padding:.95rem 1rem; color:var(--cream); font-family:'Manrope',sans-serif; font-size:.96rem;
  transition:border-color .35s, box-shadow .35s; resize:vertical;
}
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--gold-3); box-shadow:0 0 0 3px rgba(201,162,75,.12); }
.field-2{ display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; }
.form .btn{ width:100%; justify-content:center; margin-top:.4rem; }
.form-note{ font-size:.78rem; color:var(--muted-2); margin-top:1.1rem; text-align:center; }

/* page hero (interior) */
.page-hero{ padding:11rem 0 0; }
.page-hero h1{ font-family:'Montserrat',sans-serif; font-weight:800; text-transform:uppercase; font-size:clamp(2.6rem,7vw,5rem); line-height:1; margin:1.4rem 0 1.4rem; }
.page-hero p{ font-family:'Manrope',system-ui,sans-serif; font-size:clamp(1.1rem,2vw,1.4rem); color:#d4cdbf; max-width:62ch; }
.page-hero .rule{ height:1px; background:var(--gold-grad); width:0; margin-top:3.5rem; animation:grow 1.2s .3s var(--ease) forwards; }
@keyframes grow{ to{ width:100%; } }

/* =================================================================
   FOOTER
   ================================================================= */
.site-footer{ border-top:1px solid var(--line); background:var(--ink-2); padding:5rem 0 2.2rem; margin-top:2rem; }
.foot-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid var(--line-soft); }
.foot-brand .display{ font-size:1.5rem; letter-spacing:.18em; }
.foot-logo{ width:250px; max-width:78%; height:auto; display:block; }
.foot-brand p{ color:var(--muted); margin-top:1rem; max-width:34ch; font-size:.92rem; }
.foot-col h4{ font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-3); margin-bottom:1.2rem; }
.foot-col a, .foot-col p{ display:block; color:var(--muted); font-size:.92rem; margin-bottom:.7rem; transition:color .3s; }
.foot-col a:hover{ color:var(--gold-2); }
.foot-bot{ display:flex; justify-content:space-between; align-items:center; padding-top:2rem; flex-wrap:wrap; gap:1rem; }
.foot-bot p{ font-size:.8rem; color:var(--muted-2); letter-spacing:.05em; }
.foot-bot .socials{ margin:0; }
.foot-bot .socials a{ width:40px; height:40px; }
.foot-brand .socials{ margin-top:1.8rem; }
.foot-ne{ display:inline-flex; align-items:center; }
.foot-ne img{ width:200px; height:auto; opacity:.62; transition:opacity .45s var(--ease), filter .45s var(--ease); filter:drop-shadow(0 0 0 transparent); }
.foot-ne:hover img{ opacity:1; filter:drop-shadow(0 4px 18px rgba(201,162,75,.35)); }

/* =================================================================
   SCROLL REVEAL
   ================================================================= */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
.reveal.d5{ transition-delay:.4s; } .reveal.d6{ transition-delay:.48s; }

/* hero load animation */
.h-anim{ opacity:0; transform:translateY(26px); animation:hin 1.1s var(--ease) forwards; }
.h-anim.a1{ animation-delay:.15s; } .h-anim.a2{ animation-delay:.32s; }
.h-anim.a3{ animation-delay:.49s; } .h-anim.a4{ animation-delay:.66s; } .h-anim.a5{ animation-delay:.83s; }
@keyframes hin{ to{ opacity:1; transform:none; } }
.h-portrait{ opacity:0; transform:translateY(40px) scale(.98); animation:hpin 1.4s .4s var(--ease) forwards; }
@keyframes hpin{ to{ opacity:1; transform:none; } }

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
  .h-anim,.h-portrait{ opacity:1; transform:none; }
}

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media (max-width:1024px){
  .ventures{ grid-template-columns:repeat(3,1fr); }
  .pillars{ grid-template-columns:1fr; }
  .causes{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; }
  .gallery{ columns:2; }
}
@media (max-width:860px){
  .menu, .nav-cta{ display:none; }
  .burger{ display:flex; }
  .brand img{ height:21px; }
  .site-header.scrolled .brand img{ height:19px; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-portrait{ max-width:420px; margin:2rem auto 0; }
  .hero{ min-height:auto; padding-top:7.5rem; }
  .split, .contact-grid{ grid-template-columns:1fr; }
  .split.rev{ direction:ltr; }
  .split-media{ order:-1; }
  .stats .wrap{ grid-template-columns:1fr 1fr; }
  .article-feat{ grid-template-columns:1fr; }
  .article-feat .ph{ min-height:240px; }
  .ventures{ grid-template-columns:repeat(2,1fr); }
  .foot-top{ grid-template-columns:1fr 1fr; }
  .foot-brand{ grid-column:1/-1; }
}
@media (max-width:520px){
  .gallery{ columns:1; }
  .field-2{ grid-template-columns:1fr; }
  .stats .wrap{ grid-template-columns:1fr 1fr; }
  .hero-portrait .badge{ left:0; }
  .scroll-cue{ display:none; }
}

/* =================================================================
   ENHANCEMENTS — motion & polish
   ================================================================= */

/* scroll progress bar */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0; z-index:200;
  background:var(--gold-grad); box-shadow:0 0 14px rgba(201,162,75,.7), 0 0 4px rgba(201,162,75,.9);
  transition:width .1s linear;
}

/* drifting ambient orbs */
.orb{ position:fixed; border-radius:50%; filter:blur(70px); z-index:0; pointer-events:none; }
.orb-1{ width:420px; height:420px; background:radial-gradient(circle,rgba(201,162,75,.16),transparent 70%); top:-120px; right:-80px; animation:drift1 22s ease-in-out infinite; }
.orb-2{ width:360px; height:360px; background:radial-gradient(circle,rgba(201,162,75,.10),transparent 70%); bottom:-100px; left:-120px; animation:drift2 27s ease-in-out infinite; }
@keyframes drift1{ 50%{ transform:translate(-70px,80px) scale(1.15); } }
@keyframes drift2{ 50%{ transform:translate(90px,-70px) scale(1.1); } }

/* hero cursor spotlight */
.hero{ --mx:50%; --my:32%; }
.hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(460px circle at var(--mx) var(--my), rgba(201,162,75,.14), transparent 65%);
  opacity:0; transition:opacity .6s var(--ease);
}
.hero:hover::before{ opacity:1; }
.hero-grid, .scroll-cue{ position:relative; z-index:1; }

/* portrait: rotating gold glow ring + parallax layers */
.hero-portrait .frame{ z-index:1; }
.hero-portrait .frame::before{
  content:""; position:absolute; inset:-14px; z-index:-1; border-radius:14px; padding:1px;
  background:conic-gradient(from var(--ang,0deg), transparent 0deg, rgba(201,162,75,.0) 70deg, var(--gold-2) 140deg, rgba(201,162,75,0) 210deg, transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:spinring 9s linear infinite; opacity:.9;
}
@property --ang{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
@keyframes spinring{ to{ --ang:360deg; } }
.hero-portrait .badge{ animation:floaty 5.5s ease-in-out infinite; }
.hero-portrait .ring{ animation:floaty 7s ease-in-out infinite reverse; }
@keyframes floaty{ 50%{ transform:translateY(-12px); } }

/* button shine sweep */
.btn{ position:relative; overflow:hidden; isolation:isolate; }
.btn::after{
  content:""; position:absolute; top:-30%; left:-130%; width:55%; height:160%; z-index:1;
  background:linear-gradient(110deg, transparent, rgba(255,255,255,.55), transparent);
  transform:skewX(-22deg); pointer-events:none;
}
.btn:hover::after{ animation:shine .85s var(--ease); }
.btn-ghost::after{ background:linear-gradient(110deg, transparent, rgba(201,162,75,.4), transparent); }
@keyframes shine{ from{ left:-130%; } to{ left:150%; } }

/* nav cta subtle pulse glow */
.nav-cta{ position:relative; }

/* image curtain reveal */
.split-media img, .article-hero img, .article-feat .ph img{
  clip-path:inset(0 0 0 0); transition:clip-path 1.1s var(--ease) .15s, transform .8s var(--ease);
}
.reveal .split-media img,
.split-media.reveal img{ clip-path:inset(0 0 100% 0); }
.reveal.in .split-media img,
.split-media.reveal.in img{ clip-path:inset(0 0 0 0); }
.reveal .article-hero img{ clip-path:inset(0 100% 0 0); }
.reveal.in .article-hero img{ clip-path:inset(0 0 0 0); }

/* section title underline draw on reveal */
.sec-title::after{
  content:""; display:block; height:2px; width:0; border-radius:2px; margin-top:1.1rem;
  background:var(--gold-grad); transition:width 1s var(--ease) .35s;
}
.reveal.in .sec-title::after, .sec-head.in .sec-title::after{ width:78px; }
.sec-head.center .sec-title::after{ margin-inline:auto; }

/* eyebrow line grows on reveal */
.reveal .eyebrow::before{ width:0; transition:width .9s var(--ease) .3s; }
.reveal.in .eyebrow::before{ width:34px; }

/* 3D tilt helper */
.tilting{ transition:transform .14s ease-out !important; will-change:transform; }
.pillar, .venture, .cause{ transform-style:preserve-3d; }

/* link underline shimmer already present; add glow on active */
.menu a.active{ text-shadow:0 0 18px rgba(201,162,75,.4); }

/* stat number subtle glow */
.stat .n{ text-shadow:0 0 26px rgba(201,162,75,.18); }

/* page load fade */
body{ animation:pagein .8s var(--ease); }
@keyframes pagein{ from{ opacity:0; } to{ opacity:1; } }

/* gallery figure rises on reveal stagger via index */
.gallery figure{ opacity:0; transform:translateY(26px) scale(.98); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.gallery.in figure{ opacity:1; transform:none; }
.gallery.in figure:nth-child(2){ transition-delay:.06s; }
.gallery.in figure:nth-child(3){ transition-delay:.12s; }
.gallery.in figure:nth-child(4){ transition-delay:.18s; }
.gallery.in figure:nth-child(5){ transition-delay:.24s; }
.gallery.in figure:nth-child(6){ transition-delay:.3s; }
.gallery.in figure:nth-child(7){ transition-delay:.36s; }
.gallery.in figure:nth-child(8){ transition-delay:.42s; }
.gallery.in figure:nth-child(n+9){ transition-delay:.48s; }

@media (prefers-reduced-motion:reduce){
  .gold-text, .orb, .hero-portrait .frame::before, .hero-portrait .badge, .hero-portrait .ring, body{ animation:none !important; }
  .split-media img, .article-hero img, .article-feat .ph img{ clip-path:none !important; }
  .gallery figure{ opacity:1 !important; transform:none !important; }
}
@media (hover:none){
  .hero::before{ display:none; }
}

/* =================================================================
   HERO 3D POP-OUT PORTRAIT
   ================================================================= */
.hero-portrait{ perspective:1200px; max-width:460px; margin-inline:auto; }
.p3d{
  position:relative; transform-style:preserve-3d;
  transition:transform .3s var(--ease); animation:p3dfloat 9s ease-in-out infinite;
}
@keyframes p3dfloat{
  0%,100%{ transform:rotateY(-4deg) rotateX(1.5deg) translateY(0); }
  50%{ transform:rotateY(4deg) rotateX(-1.5deg) translateY(-12px); }
}

/* gold glow far behind */
.p3d-glow{
  position:absolute; inset:8% 0 8% 0; z-index:0; border-radius:28px;
  background:radial-gradient(58% 52% at 50% 42%, rgba(201,162,75,.55), transparent 70%);
  filter:blur(40px); opacity:.6; transform:translateZ(-130px) scale(1.04);
}

/* backing panel / card (behind the body) */
.p3d-panel{
  position:absolute; top:19%; left:4%; right:4%; bottom:5%; z-index:1; border-radius:16px; overflow:hidden;
  background:
    linear-gradient(165deg, rgba(44,33,13,.92), rgba(12,12,17,.96) 62%),
    radial-gradient(125% 80% at 50% 0%, rgba(201,162,75,.32), transparent 56%);
  border:1px solid var(--line);
  box-shadow:var(--shadow-deep), inset 0 1px 0 rgba(255,255,255,.05);
  transform:translateZ(-55px);
}
.p3d-panel::before{
  content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(0deg, transparent 0 25px, rgba(201,162,75,.05) 25px 26px);
  opacity:.7;
}
.p3d-panel::after{
  content:""; position:absolute; inset:11px; border:1px solid rgba(201,162,75,.22); border-radius:11px;
}

/* contact-shadow on the floor */
.p3d-floor{
  position:absolute; left:16%; right:16%; bottom:2%; height:6%; z-index:2;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.8), transparent 72%);
  filter:blur(11px); transform:translateZ(-30px);
}

/* the cut-out Bruno — in flow, defines the size, pops out of the panel */
.hero-portrait .p3d-pop{
  position:relative; display:block; z-index:3;
  width:100%; height:auto; max-width:none; aspect-ratio:auto; object-fit:contain; border:0;
  transform:translateZ(45px);
  filter:drop-shadow(0 30px 34px rgba(0,0,0,.6)) drop-shadow(0 3px 6px rgba(0,0,0,.5));
}
.hero-portrait .p3d-pop::after{ content:none; }

/* badge floats in front */
.hero-portrait .badge{
  position:absolute; left:-6px; bottom:42px; z-index:4; transform:translateZ(95px);
  animation:floaty 5.5s ease-in-out infinite;
}

@media (prefers-reduced-motion:reduce){
  .p3d{ animation:none !important; transform:rotateY(-3deg); }
  .p3d-glow{ animation:none !important; }
}
@media (max-width:860px){
  .hero-portrait{ max-width:380px; }
}
@media (max-width:520px){
  .hero-portrait .badge{ left:0; }
}

/* =================================================================
   HOVER GROW — intro/split image zooms up on mouse-over
   ================================================================= */
.split-media{ overflow:visible; transition:transform .5s var(--ease), box-shadow .5s var(--ease); will-change:transform; transform-origin:center; }
.split-media img{ transition:clip-path 1.1s var(--ease) .15s; }
.split-media:hover{ transform:scale(1.06); box-shadow:0 28px 60px rgba(0,0,0,.55); }

/* same hover-zoom on the remaining internal-page images
   (article hero photo + Flags of Fellowship banner) — both sit inside
   overflow:hidden frames, so they zoom in place with no layout shift */
.article-hero:hover img{ transform:scale(1.05); }
.fof-banner img{ transition:transform .6s var(--ease); will-change:transform; }
.fof-banner:hover img{ transform:scale(1.04); }
@media (hover:none){
  .split-media:hover{ transform:none; box-shadow:none; }
  .article-hero:hover img, .fof-banner:hover img{ transform:none; }
}

/* =================================================================
   LIGHT-BG — paginas com fundo claro ABAIXO do hero
   (causes, ventures, articles). Hero/header sobre o hero / footer
   permanecem no tema escuro.
   ================================================================= */

/* Zona clara: tudo dentro de <main> que NAO seja o page-hero.
   Redefinimos as CSS vars localmente, entao .section com
   style="background:var(--ink-2)" passa a ler o cream claro daqui. */
body.light-bg main > section:not(.page-hero){
  background:#ffffff;
  color:#1a1408;
  --ink:       #ffffff;
  --ink-2:     #f5f1e6;
  --panel:     #fafafa;
  --panel-2:   #f0ebdc;
  --line:      rgba(85,60,15,.18);
  --line-soft: rgba(0,0,0,.08);
  --cream:     #1a1408;
  --muted:     #5d5648;
  --muted-2:   #7d7666;
}

/* Textos hardcoded — dentro da zona clara */
body.light-bg main > section:not(.page-hero) .prose p{ color:#3a3326; }
body.light-bg main > section:not(.page-hero) .prose p:first-of-type{ color:#1a1408; }
body.light-bg main > section:not(.page-hero) .prose strong{ color:#7a5a18; }
body.light-bg main > section:not(.page-hero) .lead{ color:#3a3326; }
body.light-bg main > section:not(.page-hero) .sec-head p{ color:#5d5648; }
body.light-bg main > section:not(.page-hero) .eyebrow{ color:#7a5a18; }

/* Cards (pillar / venture / cause / article-feat / stat / info-item / socials) */
body.light-bg main > section:not(.page-hero) .pillar,
body.light-bg main > section:not(.page-hero) .venture,
body.light-bg main > section:not(.page-hero) .cause,
body.light-bg main > section:not(.page-hero) .article-feat,
body.light-bg main > section:not(.page-hero) .stat,
body.light-bg main > section:not(.page-hero) .info-item,
body.light-bg main > section:not(.page-hero) .socials a{
  background:#fffbf0; border-color:rgba(85,60,15,.18);
}
body.light-bg main > section:not(.page-hero) .pillar h3,
body.light-bg main > section:not(.page-hero) .venture .vname,
body.light-bg main > section:not(.page-hero) .cause h3,
body.light-bg main > section:not(.page-hero) .article-feat .ttl{ color:#1a1408; }
body.light-bg main > section:not(.page-hero) .pillar p,
body.light-bg main > section:not(.page-hero) .cause p,
body.light-bg main > section:not(.page-hero) .article-feat p{ color:#3a3326; }
body.light-bg main > section:not(.page-hero) .pillar .ix,
body.light-bg main > section:not(.page-hero) .article-feat .date,
body.light-bg main > section:not(.page-hero) .info-item .k{ color:#7a5a18; }
body.light-bg main > section:not(.page-hero) .pillar .role{ color:#9a6f2a; }
body.light-bg main > section:not(.page-hero) .stat .n{ color:#1a1408; }
body.light-bg main > section:not(.page-hero) .stat .l{ color:#5d5648; }

/* Botoes na zona clara */
body.light-bg main > section:not(.page-hero) .btn-ghost{ color:#7a5a18; border-color:#9a6f2a; }
body.light-bg main > section:not(.page-hero) .btn-ghost:hover{ background:rgba(201,162,75,.16); color:#1a1408; }

/* Single-article pages: corpo do artigo + foto ocupam toda a largura do wrap,
   alinhados a esquerda, com texto escuro pra leitura. */
body.light-bg.hero-light main > section:not(.page-hero) .article-body{
  max-width:none; margin-inline:0;
}
body.light-bg.hero-light main > section:not(.page-hero) .article-body p{ color:#1a1408; font-family:'Manrope',system-ui,sans-serif; }
body.light-bg.hero-light main > section:not(.page-hero) .article-body p em.tline{ color:#7a5a18; }
body.light-bg.hero-light main > section:not(.page-hero) .article-body p:first-of-type::first-letter{
  font-family:inherit; font-weight:inherit; float:none; font-size:inherit; line-height:inherit;
  padding:0; background:none; -webkit-background-clip:initial; background-clip:initial;
  -webkit-text-fill-color:initial; color:inherit;
}
body.light-bg.hero-light main > section:not(.page-hero) .article-hero{
  max-width:none; margin:0 0 3rem;
}
body.light-bg.hero-light main > section:not(.page-hero) .article-hero img{
  max-height:none; height:auto; object-fit:initial;
}
/* Lista de artigos (home + articles): altura FIXA do card inteiro para todos
   ficarem do mesmo tamanho independente do texto. Texto longo trunca com line-clamp. */
.article-feat{ align-items:stretch; height:clamp(380px, 30vw, 440px); }
.article-feat .ph{ min-height:0; height:100%; align-self:stretch; }
.article-feat .ph img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.article-feat .bd{ overflow:hidden; }
.article-feat .bd p{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:860px){
  .article-feat{ height:auto; }
  .article-feat .bd p{ -webkit-line-clamp:unset; display:block; overflow:visible; }
}

/* Form */
body.light-bg main > section:not(.page-hero) .field input,
body.light-bg main > section:not(.page-hero) .field textarea,
body.light-bg main > section:not(.page-hero) .field select{
  background:#fffbf0; color:#1a1408; border-color:rgba(85,60,15,.30);
}
body.light-bg main > section:not(.page-hero) .field label{ color:#5d5648; }

/* Quando o body tambem tem .hero-light, o page-hero entra no tema claro tambem.
   Aplica-se em causes / ventures / articles. FoF mantem so .light-bg (hero preto). */
body.light-bg.hero-light main > section.page-hero{
  background:#ffffff;
  color:#1a1408;
}
body.light-bg.hero-light main > section.page-hero h1{ color:#1a1408; }
body.light-bg.hero-light main > section.page-hero p{ color:#3a3326; }
body.light-bg.hero-light main > section.page-hero .eyebrow{ color:#7a5a18; }

/* "Let's build together" / outras .band — sempre preto, mesmo em paginas light-bg */
body.light-bg main > section:not(.page-hero) .band{
  background:#0c0c11;
  color:#f3eee3;
  --ink-2:     #0c0c11;
  --cream:     #f3eee3;
  --muted:     #a39b8c;
  --line:      rgba(201,162,75,.18);
  --line-soft: rgba(255,255,255,.07);
  border-color:rgba(201,162,75,.18);
}
body.light-bg main > section:not(.page-hero) .band .eyebrow{ color:#c9a24b; }
body.light-bg main > section:not(.page-hero) .band h2{ color:#f3eee3; }
body.light-bg main > section:not(.page-hero) .band .lead,
body.light-bg main > section:not(.page-hero) .band p{ color:#d4cdbf; }
body.light-bg main > section:not(.page-hero) .band .btn-ghost{ color:#f6e7b4; border-color:#c9a24b; }
body.light-bg main > section:not(.page-hero) .band .btn-ghost:hover{ background:rgba(201,162,75,.12); color:#f6e7b4; }


/*WAFLOAT*/
.wa-float{position:fixed;right:20px;bottom:20px;z-index:150;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .3s,box-shadow .3s;text-decoration:none}
.wa-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 14px 36px rgba(0,0,0,.5)}
@media(max-width:600px){.wa-float{width:52px;height:52px;right:14px;bottom:14px}}
/*/WAFLOAT*/


/* =================================================================
   LANGUAGE SWITCHER (bandeirinhas no header)
   ================================================================= */
.lang-switch{ display:inline-flex; gap:.45rem; align-items:center; margin:0 .9rem 0 .2rem; }
.lang-switch button{
  background:transparent; border:1px solid rgba(255,255,255,.18); border-radius:4px;
  padding:.18rem .25rem; cursor:pointer; line-height:0; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  display:inline-flex; align-items:center; justify-content:center;
}
.lang-switch button:hover{ transform:translateY(-1px); border-color:rgba(255,255,255,.45); box-shadow:0 4px 14px -6px rgba(0,0,0,.5); }
.lang-switch svg{ display:block; border-radius:2px; }

/* Suprime a barra do Google Translate no topo */
.goog-te-banner-frame, .skiptranslate { display:none !important; visibility:hidden !important; }
body{ top:0 !important; }
.goog-tooltip, .goog-tooltip:hover, .goog-text-highlight { background:transparent !important; box-shadow:none !important; }
font[style*="background-color"]{ background:transparent !important; box-shadow:none !important; }

@media(max-width:860px){
  .nav{ justify-content:flex-start; gap:.4rem; }
  .brand{ margin-right:auto; min-width:0; }
  .brand img{ max-height:20px; max-width:48vw; width:auto; height:auto; }
  .lang-switch{ gap:.22rem; margin:0; flex-shrink:0; }
  .lang-switch button{ padding:.06rem .12rem; }
  .lang-switch svg{ width:15px; height:11px; }
  .burger{ flex-shrink:0; padding:.4rem 0 .4rem .35rem; }
}
@media(max-width:420px){
  .brand img{ max-height:17px; max-width:44vw; }
  .lang-switch{ gap:.14rem; }
  .lang-switch svg{ width:13px; height:9px; }
  .lang-switch button{ padding:.04rem .08rem; }
}

/* Bandeiras dentro do menu mobile - alvo de toque generoso */
.lang-switch--mobile{ gap:32px !important; margin:28px auto 12px !important; justify-content:center !important; width:100%; }
.lang-switch--mobile button{ padding:8px !important; min-width:auto !important; }
.lang-switch--mobile svg{ width:48px !important; height:34px !important; }
@media (max-width:380px){
  .lang-switch--mobile{ gap:24px !important; }
  .lang-switch--mobile svg{ width:42px !important; height:30px !important; }
}
