:root{
  --navy-deep:#0A1B33;
  --navy-panel:#0F2542;
  --navy-darkest:#071426;
  --paper:#F5F3EE;
  --paper-panel:#ECE7DA;
  --ink:#14181F;
  --stone-on-navy:#8D93A2;
  --stone-on-paper:#6B6F76;
  --gold:#B08D57;
  --gold-light:#C9A66B;
  --off-white:#F2F0E9;
  --line-on-navy:rgba(242,240,233,0.14);
  --line-on-paper:rgba(20,24,31,0.14);
  --font-serif:'Newsreader', Georgia, serif;
  --font-sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:'IBM Plex Mono', 'Courier New', monospace;
  --measure: 1200px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}

body{
  font-family:var(--font-sans);
  background:var(--paper);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

body[data-theme="dark"]{
  color-scheme:dark;
}

body[data-theme="light"]{
  color-scheme:light;
}

a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--gold); color:var(--navy-darkest);}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

.wrap{
  max-width:var(--measure);
  margin:0 auto;
  padding-left:clamp(24px, 5.5vw, 94px);
  padding-right:clamp(24px, 5.5vw, 94px);
}

.eyebrow{
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.14em;
  text-transform:uppercase; display:flex; align-items:center; gap:10px; font-weight:500;
}
.eyebrow .num{color:var(--gold);}
.section--navy .eyebrow .label{color:var(--off-white);}
.section--paper .eyebrow .label{color:var(--ink);}

h1,h2,h3{font-family:var(--font-serif); font-weight:500; letter-spacing:-0.01em;}
em{font-style:italic; color:var(--gold-light); font-family:var(--font-serif);}
.section--paper em{color:var(--gold);}

.reveal{
  opacity:0; transform:translateY(18px);
  transition:opacity 0.9s cubic-bezier(.2,.6,.2,1), transform 0.9s cubic-bezier(.2,.6,.2,1);
}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.reveal-stagger.is-visible > *{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(14px); transition:opacity 0.7s ease, transform 0.7s ease;}
.reveal-stagger > *:nth-child(1){transition-delay:0.02s;}
.reveal-stagger > *:nth-child(2){transition-delay:0.10s;}
.reveal-stagger > *:nth-child(3){transition-delay:0.18s;}
.reveal-stagger > *:nth-child(4){transition-delay:0.26s;}
.reveal-stagger > *:nth-child(5){transition-delay:0.34s;}
.reveal-stagger > *:nth-child(6){transition-delay:0.42s;}
.reveal-stagger > *:nth-child(7){transition-delay:0.50s;}

@keyframes logoEntrance{
  0%{opacity:0; transform:translateY(-10px) scale(0.96); filter:blur(4px);}
  65%{opacity:1; transform:translateY(0) scale(1.015); filter:blur(0);}
  100%{opacity:1; transform:translateY(0) scale(1); filter:blur(0);}
}

@keyframes mapDrift{
  0%{transform:translate3d(-1.2%, 0.4%, 0) scale(1.02);}
  50%{transform:translate3d(1%, -0.8%, 0) scale(1.035);}
  100%{transform:translate3d(-1.2%, 0.4%, 0) scale(1.02);}
}

@keyframes mapPulse{
  0%{opacity:0.12;}
  50%{opacity:0.19;}
  100%{opacity:0.12;}
}

.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:26px clamp(24px, 6vw, 96px);
  display:flex; align-items:center; justify-content:space-between;
  background:transparent; border-bottom:1px solid transparent;
  transition:background 0.4s ease, border-color 0.4s ease, padding 0.4s ease;
}
.nav.is-scrolled{
  background:rgba(10,27,51,0.92); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line-on-navy); padding-top:16px; padding-bottom:16px;
}
.nav__mark{display:flex; align-items:center;}
.nav__mark .brand-logo{animation:logoEntrance 0.95s cubic-bezier(.2,.7,.2,1) both; transform-origin:left center;}
.brand-logo{display:block; width:clamp(160px, 18vw, 220px); height:auto;}
.nav__links{display:flex; align-items:center; gap:36px; font-family:var(--font-mono); font-size:12px; letter-spacing:0.08em; text-transform:uppercase;}
.nav__links a{color:var(--stone-on-navy); position:relative; padding-bottom:4px; transition:color 0.3s ease;}
.nav__links a:hover, .nav__links a:focus-visible{color:var(--off-white);}
.nav__links a::after{content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--gold); transition:right 0.35s ease;}
.nav__links a:hover::after, .nav__links a:focus-visible::after{right:0;}
.nav__cta{border:1px solid var(--gold); color:var(--off-white) !important; padding:10px 20px !important;}
.nav__cta::after{display:none;}
.nav__cta:hover{background:var(--gold); color:var(--navy-darkest) !important; box-shadow:0 8px 20px rgba(176,141,87,0.2);}

.theme-toggle{
  position:relative;
  width:54px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(242,240,233,0.26);
  background:var(--navy-darkest);
  color:var(--off-white);
  padding:0;
  opacity:0.96;
  transition:border-color 0.25s ease, background-color 0.25s ease, opacity 0.25s ease, box-shadow 0.25s ease;
}
.theme-toggle:hover,
.theme-toggle:focus-visible{
  border-color:rgba(176,141,87,0.62);
  box-shadow:0 0 0 3px rgba(176,141,87,0.16);
  opacity:1;
}
.theme-toggle__sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
.theme-toggle__icon{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
  line-height:1;
  transition:opacity 0.25s ease, transform 0.25s ease, color 0.25s ease;
}
.theme-toggle__icon--sun{left:8px; color:var(--gold-light); opacity:0.22;}
.theme-toggle__icon--moon{right:8px; color:var(--off-white); opacity:0.95;}
.theme-toggle__thumb{
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--off-white);
  box-shadow:0 2px 6px rgba(7,20,38,0.35);
  transform:translateX(28px);
  transition:transform 0.25s ease, background-color 0.25s ease;
}

.nav__toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px;}
.nav__toggle span{width:22px; height:1px; background:var(--off-white); display:block;}

.nav__mobile{
  position:fixed; inset:0; z-index:99; background:var(--navy-darkest);
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:28px;
  padding:0 clamp(24px,8vw,96px); transform:translateY(-100%);
  transition:transform 0.5s cubic-bezier(.2,.7,.2,1);
}
.nav__mobile.is-open{transform:translateY(0);}
.nav__mobile a{font-family:var(--font-serif); font-size:32px; color:var(--off-white);}
.nav__mobile .nav__close{position:absolute; top:26px; right:24px; background:none; border:none; color:var(--off-white); font-size:14px; font-family:var(--font-mono); letter-spacing:0.1em; text-transform:uppercase;}
.theme-toggle--mobile{margin-top:10px;}

section{padding:clamp(98px,12.5vw,156px) 0; position:relative;}
.section--navy{background:var(--navy-deep); color:var(--off-white);}
.section--paper{background:var(--paper); color:var(--ink);}

.section--intro{
  position:relative;
  padding-top:clamp(150px, 18vw, 210px);
  padding-bottom:clamp(32px, 4vw, 52px);
  display:flex;
  align-items:flex-start;
  overflow:hidden;
  background:radial-gradient(circle at 82% 18%, rgba(176,141,87,0.10), transparent 45%), var(--navy-deep);
}
.section--intro .wrap{
  position:relative;
  z-index:1;
}
.intro__map{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:0.16;
  pointer-events:none;
  animation:mapDrift 18s ease-in-out infinite, mapPulse 10s ease-in-out infinite;
  transform-origin:center;
}
.section--intro .section-head{
  max-width:none;
  margin-bottom:38px;
}
.section--intro .section-head h1{
  font-size:clamp(38px, 5.2vw, 72px);
  line-height:0.98;
  font-weight:400;
  color:var(--off-white);
  white-space:nowrap;
  margin-top:18px;
}
.section--intro .eyebrow .label{
  color:var(--off-white);
}
.intro-copy{
  max-width:900px;
  display:grid;
  gap:0;
}
.intro-copy p{
  font-size:clamp(18px, 1.6vw, 21px);
  line-height:1.82;
  color:#C7CEDA;
  text-align:justify;
  text-justify:inter-word;
}



.btn{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
  padding:16px 28px; border:1px solid var(--gold); color:var(--off-white);
  transition:background 0.35s ease, color 0.35s ease, border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}
.btn:hover, .btn:focus-visible{background:var(--gold); color:var(--navy-darkest); transform:translateY(-1px); box-shadow:0 10px 22px rgba(176,141,87,0.22);}
.section--paper .btn{color:var(--ink); border-color:var(--gold);}
.section--paper .btn:hover{color:var(--paper);}
.btn__arrow{transition:transform 0.35s ease;}
.btn:hover .btn__arrow{transform:translateX(4px);}

.section-head{max-width:780px; margin-bottom:64px;}
.section-head h2{font-size:clamp(28px,3.6vw,43px); font-weight:400; line-height:1.2; margin-top:16px;}
.contact-title{font-size:clamp(27px,3.6vw,40px); font-weight:400; margin-top:16px;}

.split-grid{display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; position:relative;}
.split-grid::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:var(--line-on-paper);
  transform:translateX(-0.5px);
}
.split-grid p{font-size:17px; max-width:58ch; color:#4F5560; line-height:1.9; text-align:justify; text-justify:inter-word;}
.credentials-line{
  margin-top:22px; font-family:var(--font-mono); font-size:12px; letter-spacing:0.04em;
  color:var(--ink); border-top:1px solid var(--line-on-paper); padding-top:18px;
}
.tag-row{
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--ink); opacity:0.6; margin-top:4px; line-height:2;
}

.method{display:flex; gap:0; margin-top:16px; border-top:1px solid var(--line-on-navy); flex-wrap:wrap;}
.method__step{flex:1 1 0; min-width:150px; padding:30px 20px 0 0; position:relative;}
.method__step::before{content:""; position:absolute; top:-1px; left:0; width:0; height:1px; background:var(--gold); transition:width 1.1s ease;}
.method__step.is-visible::before{width:100%;}
.method__num{font-family:var(--font-serif); font-style:italic; font-size:15px; color:var(--gold-light); display:block; margin-bottom:12px;}
.method__title{font-family:var(--font-serif); font-size:19px; margin-bottom:8px; color:var(--off-white);}
.method__desc{font-size:13px; color:var(--stone-on-navy); line-height:1.5; max-width:22ch;}
.method-intro{max-width:600px; color:var(--stone-on-navy); font-size:16px; margin-top:16px;}

.pillars{display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line-on-paper);}
.pillar{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  column-gap:18px;
  align-items:start;
  padding:28px 0;
  border-bottom:1px solid var(--line-on-paper);
}
.pillar:nth-child(odd){border-right:none; padding-right:0;}
.pillar:nth-child(even){padding-left:0;}
.pillar__num{
  grid-column:1;
  font-family:var(--font-serif);
  font-size:15px;
  font-style:italic;
  color:var(--gold);
  display:block;
  margin-top:3px;
}
.pillar > h3,
.pillar > p,
.pillar > .pillar-list,
.pillar > .pillar__tags{
  grid-column:2;
}
.pillar h3{font-size:20px; font-weight:500; margin-bottom:8px;}
.pillar p{font-size:14px; color:#555C67; max-width:52ch; margin-bottom:10px; line-height:1.62;}
.pillar__tags{font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink); opacity:0.55;}
.pillar-list{margin:4px 0 10px 18px; color:#555C67;}
.pillar-list li{margin-bottom:4px; line-height:1.55; list-style:disc;}

#servicos{padding-top:46px; padding-bottom:72px; border-top:1px solid var(--line-on-paper);}
#servicos .section-head{margin-bottom:40px;}

.services-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}
.service-block{
  border:1px solid var(--line-on-paper);
  padding:26px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  transition:transform 0.3s ease, border-color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}
.service-block:hover,
.service-block:focus-within{
  transform:translateY(-4px);
  border-color:rgba(176,141,87,0.45);
  background:rgba(176,141,87,0.04);
  box-shadow:0 10px 22px rgba(7,20,38,0.08);
}
.service-block__label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--stone-on-paper);
  margin-bottom:12px;
}
.service-block h3{
  font-size:24px;
  line-height:1.2;
  font-weight:500;
  margin-bottom:12px;
  color:var(--ink);
}
.service-block p{
  font-size:15px;
  line-height:1.75;
  color:#555C67;
}

.team-grid{display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start;}
.team-grid p{font-size:16px; color:var(--off-white); max-width:48ch; line-height:1.78; opacity:0.8;}
.roster{border-top:1px solid var(--line-on-navy);}
.roster li{
  padding:18px 0; border-bottom:1px solid var(--line-on-navy);
  display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px;
  font-family:var(--font-serif); font-size:18px; color:var(--off-white);
}
.roster li span{font-family:var(--font-mono); font-size:11px; color:var(--stone-on-navy); letter-spacing:0.04em; text-transform:uppercase;}

.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:92px; align-items:start;}
.contact-copy p{font-size:17px; color:#AEB6C7; max-width:48ch; margin-top:18px; line-height:1.78;}
.contact-meta{margin-top:36px; font-family:var(--font-mono); font-size:13px; color:#AEB6C7; line-height:2.15;}
.contact-item{display:flex; align-items:flex-start; gap:10px;}
.contact-item__icon{width:18px; height:18px; color:var(--gold-light); margin-top:4px; flex:0 0 auto;}
.contact-item__icon svg{display:block; width:100%; height:100%;}
.contact-meta a{
  color:var(--off-white);
  position:relative;
}
.contact-meta a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.3s ease;
}
.contact-meta a:hover,
.contact-meta a:focus-visible{color:var(--gold-light);}
.contact-meta a:hover::after,
.contact-meta a:focus-visible::after{transform:scaleX(1);}
.contact-title{color:var(--off-white);}
#contato .eyebrow .label{color:var(--gold-light);}

.field{margin-bottom:28px;}
.field label{display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:#AEB6C7; margin-bottom:10px;}
.field input, .field textarea, .field select{
  width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(242,240,233,0.14);
  color:var(--off-white); font-family:var(--font-sans); font-size:16px; padding:13px 14px;
  transition:border-color 0.3s ease, background-color 0.3s ease;
  appearance:none;
}
.field select:invalid{color:#B8BFCC;}
.field select option{
  background:var(--navy-panel);
  color:var(--off-white);
}
.field select option[value=""]{color:#B8BFCC;}
.field input::placeholder, .field textarea::placeholder{color:#AEB6C7; opacity:0.85;}
.field input:focus, .field textarea:focus, .field select:focus{border-color:var(--gold); outline:none; background-color:rgba(176,141,87,0.08);}
.field textarea{resize:vertical; min-height:122px;}
.field select{cursor:pointer;}
.field--interest{position:relative;}
.native-select--hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
.custom-select{
  position:relative;
}
.custom-select__trigger{
  width:100%;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(242,240,233,0.14);
  color:var(--off-white);
  font-family:var(--font-sans);
  font-size:16px;
  padding:13px 44px 13px 14px;
  text-align:left;
  transition:border-color 0.3s ease, background-color 0.3s ease;
  position:relative;
}
.custom-select__trigger::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:8px;
  height:8px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-65%) rotate(45deg);
  opacity:0.86;
}
.custom-select.is-open .custom-select__trigger::after{
  transform:translateY(-35%) rotate(-135deg);
}
.custom-select__trigger:focus-visible,
.custom-select__trigger:hover{
  border-color:var(--gold);
  outline:none;
  background-color:rgba(176,141,87,0.08);
}
.custom-select__trigger.is-placeholder{color:#B8BFCC;}
.custom-select__list{
  display:none;
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  background:var(--navy-deep);
  border:1px solid rgba(176,141,87,0.45);
  box-shadow:0 14px 30px rgba(0,0,0,0.28);
  max-height:240px;
  overflow:auto;
  z-index:25;
}
.custom-select.is-open .custom-select__list{display:block;}
.custom-select__option{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(242,240,233,0.08);
  background:var(--navy-deep);
  color:var(--off-white);
  font-family:var(--font-sans);
  font-size:16px;
  padding:12px 14px;
  text-align:left;
}
.custom-select__option:last-child{border-bottom:0;}
.custom-select__option:hover,
.custom-select__option:focus-visible,
.custom-select__option.is-selected{
  background:rgba(242,240,233,0.12);
  outline:none;
}
.form-note{font-size:12px; color:#AEB6C7; margin-top:6px; font-family:var(--font-mono);}
.form-confirm{font-family:var(--font-serif); font-size:22px; color:var(--off-white); display:none;}
.form-confirm.is-shown{display:block;}
#contactForm.is-hidden{display:none;}

#contato .btn{background:var(--gold); color:var(--navy-darkest); border-color:var(--gold);}
#contato .btn:hover, #contato .btn:focus-visible{background:var(--gold-light); color:var(--navy-darkest);}

footer{background:var(--navy-darkest); color:var(--stone-on-navy); padding:52px 0 36px;}
.footer-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; padding-bottom:32px; border-bottom:1px solid var(--line-on-navy);}
.footer-mark{display:flex; align-items:center; background:none; border:none; padding:0; color:inherit;}
.footer-theme-toggle{transition:opacity 0.25s ease, transform 0.25s ease;}
.footer-theme-toggle:hover,
.footer-theme-toggle:focus-visible{opacity:0.92; transform:translateY(-1px);}
.brand-logo--footer{width:clamp(154px, 16vw, 208px);}
.footer-links{display:flex; gap:26px; font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase;}
.footer-links a:hover{color:var(--off-white);}
.footer-bottom{display:flex; flex-direction:column; padding-top:22px; font-family:var(--font-mono); font-size:11px; letter-spacing:0.04em;}
.footer-bottom-main{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}
.footer-credit{display:inline-block; margin-top:14px; align-self:flex-end; color:var(--stone-on-navy); position:relative;}
.footer-credit::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform 0.3s ease;}
.footer-credit:hover, .footer-credit:focus-visible{color:var(--off-white);}
.footer-credit:hover::after, .footer-credit:focus-visible::after{transform:scaleX(1);}

body[data-theme="light"] .nav{
  background:rgba(245,243,238,0.95);
  border-bottom:1px solid var(--line-on-paper);
}
body[data-theme="light"] .nav.is-scrolled{
  background:rgba(245,243,238,0.97);
  border-bottom:1px solid var(--line-on-paper);
}
body[data-theme="light"] .nav__links a{
  color:#4E5561;
}
body[data-theme="light"] .nav__links a:hover,
body[data-theme="light"] .nav__links a:focus-visible{
  color:var(--ink);
}
body[data-theme="light"] .nav__cta{
  color:var(--ink) !important;
}
body[data-theme="light"] .nav__toggle span,
body[data-theme="light"] .nav__mobile .nav__close,
body[data-theme="light"] .theme-toggle{
  color:var(--ink);
  border-color:transparent;
}
body[data-theme="light"] .nav__toggle span{
  background:var(--ink);
}
body[data-theme="light"] .theme-toggle{
  background:var(--gold);
  border-color:rgba(176,141,87,0.78);
}
body[data-theme="light"] .theme-toggle__thumb{
  transform:translateX(0);
  background:var(--off-white);
}
body[data-theme="light"] .theme-toggle__icon--sun{
  opacity:0.98;
  color:var(--off-white);
}
body[data-theme="light"] .theme-toggle__icon--moon{
  opacity:0.25;
  color:var(--navy-deep);
}

body[data-theme="dark"] .theme-toggle{
  background:var(--navy-darkest);
  border-color:rgba(176,141,87,0.4);
}
body[data-theme="dark"] .field select{
  background:var(--navy-deep);
  color:var(--off-white);
  color-scheme:dark;
}
body[data-theme="dark"] .field select:invalid{
  color:#B8BFCC;
}
body[data-theme="dark"] .field select option{
  background:var(--navy-deep) !important;
  color:var(--off-white) !important;
}
body[data-theme="dark"] .field select option[value=""]{
  color:#B8BFCC !important;
}
body[data-theme="dark"] .field select option:checked,
body[data-theme="dark"] .field select option:hover{
  background:rgba(242,240,233,0.12) !important;
  color:var(--off-white) !important;
}
body[data-theme="dark"] .theme-toggle__thumb{
  transform:translateX(28px);
}
body[data-theme="dark"] .theme-toggle__icon--sun{
  opacity:0.24;
  color:var(--gold-light);
}
body[data-theme="dark"] .theme-toggle__icon--moon{
  opacity:0.98;
  color:var(--off-white);
}

body[data-theme="light"] #quem-somos{
  background:radial-gradient(circle at 82% 18%, rgba(176,141,87,0.16), transparent 48%), var(--paper);
  color:var(--ink);
}
body[data-theme="light"] #quem-somos .eyebrow .label,
body[data-theme="light"] #quem-somos h1{
  color:var(--ink);
}
body[data-theme="light"] #quem-somos p{
  color:#525A66;
  opacity:1;
}
body[data-theme="light"] #quem-somos em{
  color:var(--gold);
}
body[data-theme="light"] #quem-somos .intro__map{
  opacity:0.24;
}

body[data-theme="light"] #metodo{
  background:var(--paper);
  color:var(--ink);
}
body[data-theme="light"] #metodo .eyebrow .label,
body[data-theme="light"] #metodo h2,
body[data-theme="light"] #metodo .method__title,
body[data-theme="light"] #metodo .method-intro,
body[data-theme="light"] #metodo .method__desc{
  color:#4F5662;
}
body[data-theme="light"] #metodo .method,
body[data-theme="light"] #metodo .method__step{
  border-color:var(--line-on-paper);
}
body[data-theme="light"] #metodo .method__num{
  color:var(--gold);
}

body[data-theme="light"] #servicos{
  background:var(--navy-deep);
  color:var(--off-white);
  border-top-color:var(--line-on-navy);
}
body[data-theme="light"] #servicos h2,
body[data-theme="light"] #servicos .service-block h3,
body[data-theme="light"] #servicos .service-block p,
body[data-theme="light"] #servicos .service-block__label{
  color:var(--off-white);
}
body[data-theme="light"] #servicos .service-block p{
  opacity:0.86;
}
body[data-theme="light"] #servicos .service-block{
  border-color:var(--line-on-navy);
}
body[data-theme="light"] #servicos .service-block:hover,
body[data-theme="light"] #servicos .service-block:focus-within{
  border-color:rgba(201,166,107,0.52);
  background:rgba(242,240,233,0.06);
  box-shadow:0 12px 24px rgba(5,14,28,0.2);
}
body[data-theme="light"] #servicos .service-block__label{
  color:var(--gold-light);
}

body[data-theme="light"] #contato{
  background:var(--paper-panel);
  color:var(--ink);
}
body[data-theme="light"] #contato .eyebrow .label,
body[data-theme="light"] #contato .contact-title,
body[data-theme="light"] #contato .contact-copy p,
body[data-theme="light"] #contato .contact-meta,
body[data-theme="light"] #contato .form-note,
body[data-theme="light"] #contato .form-confirm{
  color:#4F5662;
}
body[data-theme="light"] #contato .contact-meta a{
  color:#344862;
}
body[data-theme="light"] #contato .contact-meta a:hover{
  color:#1F3654;
}
body[data-theme="light"] #contato .contact-meta a::after{
  background:#1F3654;
}
body[data-theme="light"] #contato .contact-item__icon{
  color:var(--gold);
}

body[data-theme="light"] .field label{
  color:#5A606B;
}
body[data-theme="light"] .field input,
body[data-theme="light"] .field textarea,
body[data-theme="light"] .field select{
  background:rgba(7,20,38,0.03);
  border-color:rgba(20,24,31,0.18);
  color:var(--ink);
}
body[data-theme="light"] .field select:invalid{color:#69707A;}
body[data-theme="light"] .field select option{
  background:var(--paper-panel);
  color:var(--ink);
}
body[data-theme="light"] .field select option[value=""]{color:#69707A;}
body[data-theme="light"] .field input::placeholder,
body[data-theme="light"] .field textarea::placeholder{
  color:#69707A;
}
body[data-theme="light"] .custom-select__trigger{
  background:rgba(7,20,38,0.03);
  border-color:rgba(20,24,31,0.18);
  color:var(--ink);
}
body[data-theme="light"] .custom-select__trigger.is-placeholder{color:#69707A;}
body[data-theme="light"] .custom-select__list{
  background:var(--paper-panel);
  border-color:rgba(20,24,31,0.22);
  box-shadow:0 14px 30px rgba(7,20,38,0.14);
}
body[data-theme="light"] .custom-select__option{
  background:var(--paper-panel);
  color:var(--ink);
  border-bottom-color:rgba(20,24,31,0.08);
}
body[data-theme="light"] .custom-select__option:hover,
body[data-theme="light"] .custom-select__option:focus-visible,
body[data-theme="light"] .custom-select__option.is-selected{
  background:rgba(20,24,31,0.08);
}
body[data-theme="light"] #contato .btn{
  background:var(--navy-deep);
  border-color:var(--navy-deep);
  color:var(--off-white);
}
body[data-theme="light"] #contato .btn:hover,
body[data-theme="light"] #contato .btn:focus-visible{
  background:#1A335E;
  color:var(--off-white);
}
body[data-theme="light"] footer{
  background:var(--paper);
  color:var(--stone-on-paper);
}
body[data-theme="light"] .footer-row{
  border-bottom-color:var(--line-on-paper);
}
body[data-theme="light"] .footer-links a{
  color:#4E5561;
}
body[data-theme="light"] .footer-links a:hover,
body[data-theme="light"] .footer-links a:focus-visible{
  color:var(--ink);
}
body[data-theme="light"] .footer-credit{
  color:#4E5561;
}
body[data-theme="light"] .footer-credit:hover,
body[data-theme="light"] .footer-credit:focus-visible{
  color:var(--ink);
}
body[data-theme="light"] .footer-credit::after{
  background:#1F3654;
}

@media (max-width:900px){
  .nav__links{display:none;}
  .nav__toggle{display:flex;}
  .split-grid, .team-grid, .contact-grid{grid-template-columns:1fr; gap:44px;}
  .split-grid::after{display:none;}
  .pillars{display:flex; flex-direction:column;}
  .pillar{grid-template-columns:58px minmax(0, 1fr); column-gap:14px;}
  .pillar:nth-child(odd){border-right:none; padding-right:0;}
  .pillar:nth-child(even){padding-left:0;}
  .method{flex-direction:column;}
  .method__step{padding:0 0 0 24px; border-left:1px solid var(--line-on-navy); border-top:none; margin-bottom:30px;}
  .method__step::before{display:none;}
  .method__desc{max-width:none;}
  .brand-logo{width:168px;}
  .contact-grid{gap:56px;}
  .services-grid{gap:18px;}
  .service-block{padding:22px 20px;}
  .service-block h3{font-size:21px;}
  .section--intro{min-height:auto; padding-top:132px;}
  .section--intro .section-head{margin-bottom:30px;}
  .section--intro .section-head h1{white-space:normal;}
}

@media (max-width:1200px) and (min-width:901px){
  .method{row-gap:34px;}
  .method__step{padding-bottom:10px;}
}

@media (max-width:680px){
  section{padding:88px 0;}
  .section-head{margin-bottom:52px;}
  .split-grid, .team-grid, .contact-grid{gap:36px;}
  .pillar{grid-template-columns:1fr; row-gap:8px; padding:28px 0;}
  .pillar__num{grid-column:1; margin-top:0; margin-bottom:0;}
  .pillar > h3,
  .pillar > p,
  .pillar > .pillar-list,
  .pillar > .pillar__tags{grid-column:1;}
  .field{margin-bottom:24px;}
  .field input, .field textarea, .field select{font-size:15px;}
  #servicos{padding-top:40px; padding-bottom:62px;}
  #servicos .section-head{margin-bottom:30px;}
  .services-grid{grid-template-columns:1fr; gap:14px;}
  .service-block{min-height:0;}
  .footer-bottom-main{justify-content:flex-start;}
  .footer-credit{align-self:flex-start;}
  .section--intro{padding-top:118px; padding-bottom:32px;}
  .section--intro .section-head h1{font-size:clamp(38px, 13vw, 56px);}
  .intro-copy p{font-size:18px; line-height:1.74;}
}
