/* =================================================================
   PROF. ANTHONY PORTIGLIATTI, Ph.D.
   Photo-forward, warm premium theme — navy + gold + amber glow
   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{
  --bg:        #0a1526;
  --bg-2:      #0e1d33;
  --panel:     #11233d;
  --panel-2:   #16294552;
  --line:      rgba(214,178,106,.22);
  --line-soft: rgba(180,200,232,.10);

  --gold-1:    #f6e7bd;
  --gold-2:    #e0bd78;
  --gold-3:    #cd9f4e;
  --gold-4:    #a87e34;
  --gold-grad: linear-gradient(105deg,#f9efce 0%,#eccd85 30%,#cd9f4e 60%,#a87e34 82%,#f1dca0 100%);
  --amber:     #f4b25a;

  --cream:     #eef3fa;
  --muted:     #a6b3c8;
  --muted-2:   #6c7a92;

  --maxw: 1240px;
  --ease: cubic-bezier(.22,1,.36,1);
  --r:   18px;
  --r-sm: 12px;
  --shadow:    0 30px 70px -30px rgba(0,0,0,.75);
  --shadow-gold: 0 26px 60px -26px rgba(205,159,78,.45);
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--bg);
  color:var(--cream);
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:400; line-height:1.72; letter-spacing:.004em;
  overflow-x:hidden; position:relative; -webkit-font-smoothing:antialiased;
}
/* ambient warmth */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(820px 560px at 88% -6%, rgba(244,178,90,.16), transparent 60%),
    radial-gradient(760px 620px at 6% 8%, rgba(79,134,198,.14), transparent 62%),
    radial-gradient(900px 600px at 50% 116%, rgba(205,159,78,.08), transparent 60%);
}
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:#0a1322; }

.wrap{ width:min(var(--maxw),92%); margin-inline:auto; }
.section{ padding:clamp(4.5rem,8vw,8rem) 0; }
.center{ text-align:center; }

.gold-text{
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  background-size:220% auto; animation:sheen 8s ease-in-out infinite;
}
@keyframes sheen{ 0%,100%{ background-position:0 center; } 50%{ background-position:100% center; } }

.eyebrow{
  display:inline-flex; align-items:center; gap:.7rem; font-family:'Manrope',sans-serif; font-weight:600;
  font-size:.72rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-2);
}
.eyebrow::before{ content:""; width:30px; height:2px; border-radius:2px; background:var(--gold-grad); }
.eyebrow.center{ justify-content:center; }

.lead{ font-family:'Manrope',system-ui,sans-serif; font-weight:300; font-size:clamp(1.12rem,1.9vw,1.4rem); line-height:1.62; color:#cfd9e9; }

.head{ max-width:720px; margin-bottom:clamp(2.6rem,5vw,3.6rem); }
.head.center{ margin-inline:auto; text-align:center; }
.head .title{
  font-family:'Montserrat',sans-serif; font-weight:400; font-size:clamp(1.95rem,4vw,3.05rem);
  line-height:1.12; letter-spacing:.01em; margin:1rem 0 0;
}
.head p{ color:var(--muted); margin-top:1.05rem; font-size:1.02rem; }
.head.center p{ margin-inline:auto; max-width:60ch; }

/* =================================================================
   HEADER / NAV
   ================================================================= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100; padding:1.3rem 0;
  transition:background .5s var(--ease), padding .4s var(--ease), box-shadow .5s, border-color .5s;
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(8,17,32,.86); backdrop-filter:blur(16px) saturate(150%);
  border-bottom-color:var(--line); padding:.7rem 0; box-shadow:0 14px 40px -24px rgba(0,0,0,.8);
}
.nav{ width:min(var(--maxw),92%); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand{ display:flex; align-items:center; line-height:1; }
.brand img{ height:50px; width:auto; transition:height .4s var(--ease), filter .4s; filter:drop-shadow(0 3px 14px rgba(214,178,106,.28)); }
.site-header.scrolled .brand img{ height:40px; }
.brand:hover img{ filter:drop-shadow(0 3px 20px rgba(214,178,106,.55)); }
.menu{ display:flex; align-items:center; gap:2rem; list-style:none; }
.menu a{ font-size:.8rem; font-weight:600; letter-spacing:.1em; 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:2px; width:0; border-radius:2px; 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-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#0a1322;
  background:var(--gold-grad); padding:.72rem 1.5rem; border-radius:999px; box-shadow:0 12px 28px -12px rgba(205,159,78,.6); transition:transform .4s var(--ease), box-shadow .4s; }
.nav-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 38px -12px rgba(205,159,78,.8); }
.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); border-radius:2px; 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-nav{ position:fixed; inset:0; z-index:110; background:rgba(7,15,28,.98); backdrop-filter:blur(14px);
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1.4rem; 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.5rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); transition:color .3s; }
.mobile-nav a.active, .mobile-nav a:hover{ color:var(--gold-2); }
.mobile-nav .m-meta{ margin-top:1.2rem; font-size:.85rem; color:var(--muted); letter-spacing:.06em; text-align:center; }

/* =================================================================
   BUTTONS
   ================================================================= */
.btn{ display:inline-flex; align-items:center; gap:.65rem; cursor:pointer; font-family:'Manrope',sans-serif;
  font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:1rem 1.9rem;
  border-radius:999px; border:1px solid transparent; transition:all .42s var(--ease); position:relative; overflow:hidden; isolation:isolate; }
.btn .arr{ transition:transform .4s var(--ease); }
.btn:hover .arr{ transform:translateX(5px); }
.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,.45),transparent); transform:skewX(-22deg); pointer-events:none; }
.btn:hover::after{ animation:shine .85s var(--ease); }
@keyframes shine{ from{ left:-130%; } to{ left:150%; } }
.btn-gold{ background:var(--gold-grad); color:#0a1322; box-shadow:0 16px 38px -14px rgba(205,159,78,.6); }
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 24px 52px -14px rgba(205,159,78,.85); }
.btn-ghost{ color:var(--gold-1); border-color:var(--gold-3); }
.btn-ghost::after{ background:linear-gradient(110deg,transparent,rgba(214,178,106,.4),transparent); }
.btn-ghost:hover{ background:rgba(214,178,106,.1); border-color:var(--gold-2); transform:translateY(-2px); }
.actions{ display:flex; flex-wrap:wrap; gap:1rem; }
.actions.center{ justify-content:center; }

/* =================================================================
   HERO — full-bleed background video + overlay
   ================================================================= */
.hero{ position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; padding:9rem 0 5rem; }
.hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0;
  background:#0a1526 url("../img/hero-poster.jpg") center/cover no-repeat; }
.hero-overlay{ position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(7,14,26,.78) 0%, rgba(7,14,26,.68) 32%, rgba(8,16,30,.42) 62%, rgba(8,16,30,.52) 100%),
    linear-gradient(180deg, rgba(7,14,26,.52), rgba(7,14,26,.22) 35%, rgba(7,14,26,.22) 65%, rgba(5,11,22,.78)); }
.hero-inner{ position:relative; z-index:2; width:min(var(--maxw),92%); margin-inline:auto; }
.hero-copy{ max-width:600px; }
.hero-eyebrow{ margin-bottom:1.3rem; }
.hero-name{ font-family:'Montserrat',sans-serif; font-weight:400; font-size:clamp(2.8rem,6.6vw,5.6rem); line-height:.58; letter-spacing:.005em; text-shadow:0 6px 40px rgba(0,0,0,.5); padding-bottom:.22em; }
.hero-name span{ display:block; }
.hero-name .gold-text{ margin-top:-.22em; padding-top:.18em; padding-bottom:.28em; animation:none; background:linear-gradient(120deg,#f6e3a6,#e0bd78 55%,#c79a4b); -webkit-background-clip:text; background-clip:text; }
.hero-role{ font-family:'Manrope',system-ui,sans-serif; font-style:italic; font-size:clamp(1.1rem,2.2vw,1.5rem); color:var(--gold-1); margin:1.1rem 0 .2rem; }
.hero .lead{ max-width:48ch; margin:1.3rem 0 0; color:#dde4f1; }
.hero-actions{ margin-top:2.2rem; }
.hero-mini{ display:flex; flex-wrap:wrap; gap:.5rem 1.6rem; margin-top:2.4rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.16); font-size:.74rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#c6d0df; }
.hero-mini span{ display:inline-flex; align-items:center; gap:1.6rem; }
.hero-mini span:not(:last-child)::after{ content:""; width:5px; height:5px; border-radius:50%; background:var(--gold-2); }
.hero-cue{ position:absolute; left:50%; bottom:1.5rem; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:.5rem; font-size:.58rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.hero-cue .bar{ width:1px; height:40px; background:linear-gradient(var(--gold-2),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; } }
@keyframes floaty{ 50%{ transform:translateY(-12px); } }

/* =================================================================
   TRUST STRIP
   ================================================================= */
.trust{ border-block:1px solid var(--line-soft); background:rgba(255,255,255,.012); }
.trust .wrap{ display:flex; align-items:center; gap:clamp(1.4rem,4vw,3.4rem); flex-wrap:wrap; justify-content:center; padding:1.8rem 0; }
.trust .lbl{ font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted-2); }
.trust .logo-w{ background:#fff; border-radius:10px; padding:10px 18px; display:flex; align-items:center; justify-content:center;
  height:68px; width:clamp(126px,16vw,168px); box-shadow:0 12px 26px -16px rgba(0,0,0,.6);
  transition:transform .4s var(--ease), box-shadow .4s; }
.trust .logo-w:hover{ transform:translateY(-3px); box-shadow:0 18px 34px -16px rgba(0,0,0,.7); }
.trust .logo-w img{ max-width:100%; max-height:42px; width:auto; height:auto; object-fit:contain; display:block; }

/* =================================================================
   FEATURE (photo framed + text)
   ================================================================= */
.feature{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.feature.rev .f-media{ order:2; }
.f-media{ position:relative; }
.f-media .frame{ position:relative; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); }
.f-media .frame img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/4.4; }
.f-media .frame::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%, rgba(8,16,30,.7)); }
.f-media .cap{ position:absolute; left:1.4rem; bottom:1.2rem; z-index:2; font-family:'Manrope',system-ui,sans-serif; font-style:italic; color:var(--gold-1); font-size:.96rem; }
.f-media .badge{ position:absolute; right:-14px; top:-14px; z-index:3; width:108px; height:108px; border-radius:50%;
  background:var(--gold-grad); color:#0a1322; display:grid; place-content:center; text-align:center; box-shadow:var(--shadow-gold); animation:floaty 6s ease-in-out infinite; }
.f-media .badge b{ font-family:'Montserrat',sans-serif; font-size:1.5rem; line-height:1; }
.f-media .badge span{ font-size:.54rem; letter-spacing:.14em; text-transform:uppercase; margin-top:.2rem; }
.f-body .title{ font-family:'Montserrat',sans-serif; font-weight:400; font-size:clamp(1.8rem,3.6vw,2.7rem); line-height:1.14; margin:1rem 0 1.2rem; }
.f-body p{ color:#c6d0e0; margin-bottom:1.15rem; }
.f-body p:first-of-type{ font-family:'Manrope',system-ui,sans-serif; font-size:1.2rem; color:#e6ecf6; }
.f-body strong{ color:var(--gold-1); font-weight:600; }
.f-body .actions{ margin-top:1.6rem; }

/* =================================================================
   STATS
   ================================================================= */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.stat{ position:relative; border:1px solid var(--line-soft); border-radius:var(--r-sm); padding:2.2rem 1.4rem; text-align:center;
  background:linear-gradient(165deg, var(--panel), rgba(14,29,51,.4)); overflow:hidden; transition:transform .5s var(--ease), border-color .5s, box-shadow .5s; }
.stat::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--gold-grad); opacity:.5; transition:opacity .5s; }
.stat:hover{ transform:translateY(-6px); border-color:var(--line); box-shadow:var(--shadow-gold); }
.stat:hover::before{ opacity:1; }
.stat .n{ font-family:'Montserrat',sans-serif; font-size:clamp(2.2rem,4vw,3rem); line-height:1; color:var(--gold-1); text-shadow:0 0 26px rgba(214,178,106,.2); }
.stat .l{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:.8rem; }

/* =================================================================
   LEADERSHIP CARDS
   ================================================================= */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.card{ position:relative; border:1px solid var(--line-soft); border-radius:var(--r); padding:2.4rem 2rem 2.2rem;
  background:linear-gradient(160deg, var(--panel), rgba(12,24,42,.55)); overflow:hidden; transition:transform .5s var(--ease), border-color .5s, box-shadow .5s; }
.card::before{ content:""; position:absolute; inset:0; opacity:0; transition:opacity .5s; background:radial-gradient(420px 220px at 50% -10%, rgba(244,178,90,.16), transparent 70%); }
.card:hover{ transform:translateY(-8px); border-color:var(--line); box-shadow:var(--shadow-gold); }
.card:hover::before{ opacity:1; }
.card .ic{ width:54px; height:54px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(150deg, rgba(214,178,106,.18), rgba(214,178,106,.05)); border:1px solid var(--line); margin-bottom:1.3rem; }
.card .ic svg{ width:26px; height:26px; stroke:var(--gold-2); fill:none; stroke-width:1.6; }
.card h3{ font-family:'Manrope',system-ui,sans-serif; font-weight:500; font-size:1.42rem; color:var(--cream); margin-bottom:.6rem; position:relative; }
.card p{ color:var(--muted); font-size:.96rem; position:relative; }
.card .role{ display:inline-block; margin-top:1.3rem; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-2); position:relative; }

/* =================================================================
   MENTOR BAND (photo + text)
   ================================================================= */
.mentor{ position:relative; border-radius:var(--r); overflow:hidden; border:1px solid var(--line);
  background:linear-gradient(135deg, var(--panel), var(--bg-2)); display:grid; grid-template-columns:.85fr 1.15fr; align-items:stretch; }
.mentor .m-photo{ position:relative; min-height:380px; background:#0a1626; overflow:hidden; }
.mentor .m-photo img{ position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center top; filter:none; }
.mentor .m-body{ padding:clamp(2rem,4.5vw,3.6rem); display:flex; flex-direction:column; justify-content:center; }
.mentor h3{ font-family:'Montserrat',sans-serif; font-weight:400; font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.15; margin:.9rem 0 1.1rem; }
.mentor p{ color:var(--muted); margin-bottom:1.5rem; }
.mlist{ list-style:none; display:grid; gap:.85rem; margin:0 0 1.8rem; }
.mlist li{ display:flex; gap:.85rem; align-items:flex-start; color:#cfd8e6; font-size:.97rem; }
.mlist li::before{ content:""; flex:0 0 auto; width:18px; height:18px; margin-top:.25rem; border-radius:50%; background:var(--gold-grad); box-shadow:0 0 0 4px rgba(214,178,106,.12); }

/* mentoring radio cards */
.opts{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:.4rem 0 1.6rem; }
.opt{ position:relative; }
.opt input{ position:absolute; opacity:0; inset:0; cursor:pointer; }
.opt label{ display:block; text-align:center; padding:1.1rem 1rem; border:1px solid var(--line-soft); border-radius:10px; background:rgba(0,0,0,.22); font-weight:600; font-size:.9rem; cursor:pointer; transition:all .35s var(--ease); color:var(--muted); }
.opt input:checked + label{ border-color:var(--gold-3); color:var(--gold-1); background:rgba(214,178,106,.1); box-shadow:0 0 0 3px rgba(214,178,106,.12); }
.opt label:hover{ border-color:var(--line); color:var(--cream); }

/* =================================================================
   VENTURES
   ================================================================= */
.ventures{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.venture{ border:1px solid var(--line-soft); border-radius:var(--r-sm); background:var(--panel); padding:1rem; text-align:center;
  transition:transform .45s var(--ease), border-color .45s, box-shadow .45s, background .45s; }
.venture .logo{ aspect-ratio:2/1; width:100%; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:10px; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(0,0,0,.05); padding:14px 18px; }
.venture .logo img{ max-width:90%; max-height:clamp(52px,6.4vw,86px); width:auto; height:auto; object-fit:contain; display:block; }
.venture .vname{ display:block; font-family:'Manrope',system-ui,sans-serif; font-style:italic; font-size:.88rem; color:var(--gold-1); margin-top:.85rem; }
.venture .vkind{ display:block; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted-2); margin-top:.25rem; }
.venture:hover{ transform:translateY(-5px); border-color:var(--line); background:var(--bg-2); box-shadow:var(--shadow-gold); }
.venture.txt .logo span{ font-family:'Montserrat',sans-serif; font-size:clamp(.92rem,1.4vw,1.12rem); color:#16294a; letter-spacing:.02em; line-height:1.25; text-align:center; padding:0 1rem; }

/* =================================================================
   QUOTES
   ================================================================= */
.quotes{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.quote{ position:relative; border:1px solid var(--line-soft); border-radius:var(--r); padding:2.8rem 2rem 2rem;
  background:linear-gradient(165deg, var(--panel), rgba(12,24,42,.5)); overflow:hidden; transition:transform .5s var(--ease), border-color .5s, box-shadow .5s; }
.quote::before{ content:"\201C"; position:absolute; top:.2rem; left:1.2rem; font-family:'Manrope',system-ui,sans-serif; font-size:5rem; line-height:1; color:rgba(214,178,106,.26); }
.quote p{ font-family:'Manrope',system-ui,sans-serif; font-style:italic; font-size:1.05rem; line-height:1.6; color:#d6deea; position:relative; }
.quote .who{ display:flex; align-items:center; gap:.9rem; margin-top:1.6rem; padding-top:1.3rem; border-top:1px solid var(--line-soft); }
.quote .who .av{ width:46px; height:46px; border-radius:50%; flex:0 0 auto; display:grid; place-items:center; background:linear-gradient(150deg,var(--gold-2),var(--gold-4)); color:#0a1322; font-family:'Montserrat',sans-serif; font-size:1.1rem; }
.quote .who b{ display:block; font-weight:600; font-size:.92rem; color:var(--cream); }
.quote .who .av-img{ background:none; overflow:hidden; padding:0; }
.quote .who .av-img img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; }
.quote .who span{ font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-3); }
.quote:hover{ transform:translateY(-6px); border-color:var(--line); box-shadow:var(--shadow-gold); }

/* =================================================================
   CTA BAND
   ================================================================= */
.cta{ position:relative; border-radius:var(--r); overflow:hidden; border:1px solid var(--line);
  background:linear-gradient(135deg, var(--bg-2), var(--panel)); display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center;
  padding:clamp(2.4rem,5vw,4rem) clamp(1.8rem,5vw,4rem); }
.cta::before{ content:""; position:absolute; inset:0; opacity:.5; background:radial-gradient(620px 320px at 100% 0%, rgba(244,178,90,.22), transparent 66%); }
.cta > *{ position:relative; }
.cta h2{ font-family:'Montserrat',sans-serif; font-weight:400; font-size:clamp(1.8rem,4vw,3rem); line-height:1.1; margin-bottom:.9rem; }
.cta p{ color:var(--muted); max-width:48ch; }
.cta .actions{ flex-wrap:nowrap; }

/* =================================================================
   PAGE HERO (interior)
   ================================================================= */
.page-hero{ padding:clamp(9.5rem,15vw,12rem) 0 0; position:relative; }
.page-hero .wrap{ max-width:900px; }
.page-hero h1{ font-family:'Montserrat',sans-serif; font-weight:400; font-size:clamp(2.4rem,6vw,4.4rem); line-height:1.04; margin:1rem 0 1.2rem; }
.page-hero p{ font-family:'Manrope',system-ui,sans-serif; font-weight:300; font-size:clamp(1.1rem,2vw,1.42rem); color:#cfd8e6; max-width:62ch; }
.page-hero .rule{ height:2px; border-radius:2px; background:var(--gold-grad); width:0; margin-top:3rem; animation:grow 1.2s .3s var(--ease) forwards; }
@keyframes grow{ to{ width:120px; } }

/* =================================================================
   ARTICLE / TIMELINE
   ================================================================= */
.article-body{ max-width:780px; margin-inline:auto; }
.article-body h2{ font-family:'Montserrat',sans-serif; font-weight:400; font-size:clamp(1.5rem,3vw,2rem); margin:2.4rem 0 1.1rem; color:var(--gold-1); }
.article-body p{ font-family:'Manrope',system-ui,sans-serif; font-weight:300; font-size:1.16rem; line-height:1.8; color:#d2dae7; margin-bottom:1.4rem; }
.article-body strong{ color:var(--gold-1); font-weight:600; }

.timeline{ max-width:820px; margin-inline:auto; position:relative; padding-left:2.2rem; }
.timeline::before{ content:""; position:absolute; left:7px; top:.4rem; bottom:.4rem; width:2px; background:linear-gradient(var(--gold-3),transparent); border-radius:2px; }
.tl-item{ position:relative; padding:0 0 2.4rem; }
.tl-item::before{ content:""; position:absolute; left:-2.2rem; top:.3rem; width:16px; height:16px; border-radius:50%; background:var(--gold-grad); box-shadow:0 0 0 4px rgba(214,178,106,.14); }
.tl-item .yr{ font-family:'Montserrat',sans-serif; color:var(--gold-2); font-size:1.05rem; letter-spacing:.06em; }
.tl-item h4{ font-family:'Manrope',system-ui,sans-serif; font-weight:500; font-size:1.2rem; margin:.3rem 0 .5rem; color:var(--cream); }
.tl-item p{ color:var(--muted); font-size:.96rem; }

/* =================================================================
   CONTACT
   ================================================================= */
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2.5rem,5vw,5rem); }
.info-item{ padding:1.5rem 0; border-bottom:1px solid var(--line-soft); }
.info-item:first-child{ border-top:1px solid var(--line-soft); }
.info-item .k{ font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-3); }
.info-item .v{ font-family:'Manrope',system-ui,sans-serif; font-size:1.26rem; 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:#0a1322; transform:translateY(-3px); box-shadow:0 12px 26px -8px rgba(205,159,78,.6); }
.socials svg{ width:18px; height:18px; }
.form{ background:linear-gradient(160deg,var(--panel),var(--bg-2)); border:1px solid var(--line-soft); border-radius:var(--r); padding:clamp(1.8rem,3.5vw,2.8rem); }
.field{ margin-bottom:1.3rem; }
.field label{ display:block; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:.55rem; }
.field input, .field textarea, .field select{ width:100%; background:rgba(0,0,0,.3); border:1px solid var(--line-soft); border-radius:10px; 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, .field select:focus{ outline:none; border-color:var(--gold-3); box-shadow:0 0 0 3px rgba(214,178,106,.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; }
.form-note.ok{ color:var(--gold-2); }

/* =================================================================
   FOOTER
   ================================================================= */
.site-footer{ border-top:1px solid var(--line); background:var(--bg-2); padding:4.4rem 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-logo{ width:220px; max-width:78%; height:auto; }
.foot-brand p{ color:var(--muted); margin-top:1.1rem; max-width:36ch; font-size:.92rem; }
.foot-col h4{ font-size:.7rem; letter-spacing:.2em; 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-brand .socials{ margin-top:1.6rem; }
.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:.04em; }
.foot-ne{ display:inline-flex; }
.foot-ne img{ width:190px; height:auto; opacity:.6; transition:opacity .45s var(--ease), filter .45s; }
.foot-ne:hover img{ opacity:1; filter:drop-shadow(0 4px 18px rgba(214,178,106,.35)); }

/* =================================================================
   REVEAL + ambient
   ================================================================= */
.reveal{ opacity:0; transform:translateY(30px); 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; }
.h-anim{ opacity:0; transform:translateY(24px); animation:hin 1.1s var(--ease) forwards; }
.h-anim.a1{ animation-delay:.12s; } .h-anim.a2{ animation-delay:.28s; } .h-anim.a3{ animation-delay:.44s; } .h-anim.a4{ animation-delay:.6s; } .h-anim.a5{ animation-delay:.76s; }
@keyframes hin{ to{ opacity:1; transform:none; } }
.h-photo{ opacity:0; transform:translateY(34px) scale(.98); animation:hpin 1.3s .35s var(--ease) forwards; }
@keyframes hpin{ to{ opacity:1; transform:none; } }
.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(214,178,106,.7); transition:width .1s linear; }
body{ animation:pagein .8s var(--ease); }
@keyframes pagein{ from{ opacity:0; } to{ opacity:1; } }
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; } .reveal,.h-anim,.h-photo{ opacity:1; transform:none; } }

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media (max-width:1024px){ .cards{ grid-template-columns:1fr; } .ventures{ grid-template-columns:repeat(3,1fr); } .quotes{ grid-template-columns:1fr; max-width:560px; margin-inline:auto; } }
@media (max-width:860px){
  .menu, .nav-cta{ display:none; }
  .burger{ display:flex; }
  .hero{ align-items:flex-end; padding:7rem 0 3.2rem; }
  .hero-overlay{ background:linear-gradient(180deg, rgba(7,14,26,.38), transparent 20%, transparent 40%, rgba(5,11,22,.78) 84%); }
  .hero-copy{ max-width:none; }
  .hero-cue{ display:none; }
  .feature, .contact-grid, .mentor{ grid-template-columns:1fr; }
  .feature.rev .f-media{ order:0; }
  .mentor .m-photo{ min-height:300px; }
  .stats{ grid-template-columns:1fr 1fr; }
  .ventures{ grid-template-columns:repeat(2,1fr); }
  .cta{ grid-template-columns:1fr; text-align:center; }
  .cta .actions{ justify-content:center; flex-wrap:wrap; }
  .foot-top{ grid-template-columns:1fr 1fr; }
  .foot-brand{ grid-column:1/-1; }
  .opts{ grid-template-columns:1fr; }
}
@media (max-width:480px){ .field-2{ grid-template-columns:1fr; } .stats{ grid-template-columns:1fr 1fr; } }


/* =================================================================
   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:36px; max-width:46vw; 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:32px; max-width:42vw; }
  .lang-switch{ gap:.14rem; }
  .lang-switch svg{ width:13px; height:9px; }
  .lang-switch button{ padding:.04rem .08rem; }
}

/*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*/

/* HERO VIDEO RIGHT SHIFT */
@media (min-width:900px){
  .hero-video{ width:78%; left:auto; right:0; -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 28%); mask-image:linear-gradient(90deg, transparent 0%, black 28%); }
}

/* 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; }
}

/* === ventures carousel === */
.ventures-carousel{ position:relative; padding-inline:64px; }
.vc-track{ display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; }
.vc-track::-webkit-scrollbar{ display:none; }
.vc-track > .venture{ flex:0 0 calc((100% - 3rem)/4); scroll-snap-align:start; margin:0; }
.vc-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:#0e1a31; border:1px solid var(--line); color:var(--gold-1); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:3; transition:all .25s var(--ease); }
.vc-arrow:hover{ background:var(--gold-1); color:#0a1326; border-color:var(--gold-1); }
.vc-prev{ left:0; }
.vc-next{ right:0; }
.vc-cta{ text-align:center; margin-top:2.6rem; }
@media (max-width:1100px){ .vc-track > .venture{ flex:0 0 calc((100% - 2rem)/3); } }
@media (max-width:820px){ .ventures-carousel{ padding-inline:0; } .vc-track > .venture{ flex:0 0 calc((100% - 1rem)/2); } .vc-arrow{ display:none; } }
@media (max-width:520px){ .vc-track > .venture{ flex:0 0 78%; } }


/* === text ventures colors === */
.venture.txt .logo{ background:#fff; }
.venture.txt .logo span{ color:#0a1326 !important; font-family:'Marcellus','Spectral',serif; font-weight:400; letter-spacing:.01em; line-height:1.2; }
.venture.txt .logo span b{ display:inline; font-weight:600; color:var(--gold-1) !important; background:linear-gradient(120deg,#c79a4b,#e0bd78 55%,#a47a30); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; padding-left:.18em; }

/* === pt-br break on "e serviço" === */
html[lang^="pt"] [data-ed="p10"] .ptbr-line{ display:block; }


/* === lang-en/lang-pt toggle === */
.lang-pt{ display:none; }
html[lang^="pt"] .lang-en{ display:none; }
html[lang^="pt"] .lang-pt{ display:inline; }



/* === translate hover kill final === */
font[style*="background-color"],.goog-text-highlight,[class*="VIpgJd"]{background-color:transparent !important;background-image:none !important;box-shadow:none !important;border-radius:0 !important;}
.gold-text font, .hero-name font, .title font{ display:contents !important; background:transparent !important; }
*[style*="-webkit-text-fill-color"] font{ display:contents !important; background:transparent !important; }

/* === widow prevention === */
[data-ed="p24"]{ text-wrap: pretty; }


/* === p15 wider v2 === */
html[lang^="pt"] [data-ed="p15"]{max-width:none !important;width:max-content;margin-inline:auto;}
html[lang^="pt"] [data-ed="p15"] .nobr{display:inline;white-space:nowrap;}
html[lang^="pt"] [data-ed="p15"] + *, html[lang^="pt"] .head:has([data-ed="p15"]){overflow:visible;}
