/* v16.4 — public enhancements */
.language-toggle { display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:38px;padding:0 12px;border:1px solid rgba(238,230,211,.35);border-radius:999px;background:transparent;color:var(--cream);font:700 .7rem/1 var(--body);letter-spacing:.1em;transition:background-color .2s,color .2s,border-color .2s; }
.language-toggle:hover,.language-toggle:focus-visible { background:var(--mustard);border-color:var(--mustard);color:#0a161b; }
.case-study-modal[hidden],.testimonials[hidden] { display:none; }
.case-study-modal { position:fixed;inset:0;z-index:320;display:grid;place-items:center;padding:clamp(12px,3vw,36px); }
.case-study-backdrop { position:absolute;inset:0;border:0;background:rgba(4,9,11,.88);backdrop-filter:blur(12px); }
.case-study-dialog { position:relative;z-index:1;width:min(900px,100%);max-height:min(92vh,900px);overflow:auto;padding:clamp(24px,5vw,58px);border:1px solid rgba(238,230,211,.16);border-radius:22px;background:linear-gradient(145deg,#12262d,#071014);box-shadow:0 32px 100px #0008;animation:case-study-enter .3s cubic-bezier(.2,.8,.2,1) both; }
@keyframes case-study-enter { from { opacity:0;transform:translateY(14px) scale(.99); } to { opacity:1;transform:none; } }
.case-study-close { position:absolute;top:14px;right:14px;width:42px;height:42px;border:1px solid rgba(238,230,211,.28);border-radius:50%;background:transparent;color:var(--cream);font-size:1.6rem;line-height:1; }
.case-study-close:hover { background:var(--cream);color:var(--navy); }
.case-study-dialog h2 { max-width:16ch;margin:10px 48px 14px 0;font-size:clamp(2rem,5.5vw,4.3rem);line-height:.98; }
.case-study-lead { max-width:60ch;color:var(--cream);font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.65; }
.case-study-sections { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:34px 0; }
.case-study-sections section { min-width:0;border-top:2px solid var(--terracotta);padding-top:15px; }
.case-study-sections span { display:block;margin-bottom:10px;color:var(--mustard);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.case-study-sections p { font-size:.94rem;line-height:1.75;color:rgba(238,230,211,.85); }
body.case-study-open { overflow:hidden; }
.testimonials-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.testimonial-card { position:relative;margin:0;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(238,230,211,.035); }
.testimonial-mark { display:block;color:var(--terracotta);font-family:var(--site-display-font);font-size:3rem;line-height:.7;margin-bottom:18px; }
.testimonial-card>p { font-size:1rem;line-height:1.8; }
.testimonial-card footer { display:grid;gap:4px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line); }
.testimonial-card footer strong { color:var(--cream);font-size:.95rem; }
.testimonial-card footer span { color:var(--mustard);font-size:.78rem; }
.whatsapp-float { position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);z-index:150;display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#207b56;color:white;box-shadow:0 12px 36px #0005;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease; }
.whatsapp-float svg { width:26px;height:26px;fill:currentColor; }
.whatsapp-float:hover,.whatsapp-float:focus-visible { transform:translateY(-4px);box-shadow:0 16px 38px #0007;background:#16844f; }
.contact-form { display:grid;gap:18px;margin-top:34px;padding:clamp(20px,3vw,34px);border:1px solid var(--line);border-radius:var(--radius);background:rgba(7,14,17,.22); }
.contact-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.contact-form label { display:grid;gap:8px;min-width:0;color:var(--cream);font-size:.78rem;font-weight:700;letter-spacing:.045em; }
.contact-form input,.contact-form textarea { width:100%;min-width:0;border:1px solid rgba(238,230,211,.22);border-radius:10px;background:rgba(238,230,211,.055);color:var(--cream);padding:13px 14px;font:400 1rem/1.5 var(--body);letter-spacing:normal; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:rgba(238,230,211,.48); }
.contact-form input:focus-visible,.contact-form textarea:focus-visible { outline:2px solid var(--mustard);outline-offset:2px;border-color:var(--mustard); }
.contact-form textarea { resize:vertical;min-height:120px; }
.contact-form-actions { display:flex;align-items:center;gap:16px;flex-wrap:wrap; }
.contact-form-actions [role=status] { flex:1;min-width:200px;color:rgba(238,230,211,.72);font-size:.8rem;line-height:1.6; }
.contact-form button:disabled { opacity:.55;cursor:wait; }
.contact-form-fallback { color:rgba(238,230,211,.72);font-size:.86rem;line-height:1.75; }
.contact-form-fallback a { color:var(--mustard);text-decoration:underline;text-underline-offset:3px; }
.contact-honeypot { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
@media (max-width:800px) { .case-study-sections { grid-template-columns:1fr;gap:22px; } .testimonials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .case-study-dialog { max-height:calc(100dvh - 24px);padding:26px 20px 24px;border-radius:17px; } .case-study-sections { margin:25px 0; } .testimonials-grid,.contact-form-grid { grid-template-columns:1fr; } .whatsapp-float { width:54px;height:54px;right:14px;bottom:14px; } .language-toggle { min-height:42px; } }
@media (prefers-reduced-motion:reduce) { .case-study-dialog { animation:none; } .whatsapp-float,.language-toggle { transition:none; } }


/* v16.6 — responsive corrections for the cover and project actions. */
.project-meta { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; min-width:0; }
.project-meta > div:first-child { flex:1 1 auto; min-width:0; }
.project-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex:0 0 auto; min-width:0; }
.project-actions .round-arrow { width:42px; height:42px; }
.project-actions .case-study-open { margin:0; white-space:nowrap; }
@media (max-width: 680px) {
  .hero { min-height:max(690px, 100svh); padding-top:calc(var(--header-h) + 18px); padding-bottom:38px; }
  .hero-copy { max-width:100%; }
  .hero h1 { max-width:19ch; font-size:clamp(2.1rem, 8.2vw, 2.75rem); line-height:.98; letter-spacing:-.025em; text-wrap:pretty; }
  .hero-copy .eyebrow { max-width:30ch; margin-bottom:13px; text-shadow:0 2px 14px rgba(0,0,0,.95); }
  .hero-intro { margin-top:16px; }
  .hero::before {
    background:
      linear-gradient(0deg, rgba(5,12,15,.98) 0%, rgba(5,12,15,.92) 36%, rgba(5,12,15,.62) 55%, rgba(5,12,15,.14) 100%),
      linear-gradient(90deg, rgba(5,12,15,.72) 0%, rgba(5,12,15,.48) 55%, rgba(5,12,15,.2) 100%),
      linear-gradient(180deg, rgba(5,12,15,.62) 0%, rgba(5,12,15,.08) 27%);
  }
  .project-meta { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:12px; }
  .project-meta > div:first-child { grid-column:1/-1; }
  .project-actions { grid-column:1/-1; justify-content:flex-start; flex-wrap:wrap; }
  .project-actions .round-arrow { width:40px; height:40px; }
  .project-actions .case-study-open { min-height:40px; }
}


/* v17.0 — stable header navigation: align all primary actions and restore the About link. */
.site-header { gap:clamp(16px,2vw,30px); }
.site-header > .wordmark { flex:0 0 auto; min-width:max-content; }
.main-nav { flex:0 0 auto; flex-shrink:0; margin-left:auto; align-items:center; justify-content:flex-end; gap:clamp(16px,1.8vw,30px); }
.main-nav > a, .main-nav > button { flex:0 0 auto; align-self:center; white-space:nowrap; }
.main-nav > a[href="#sobre"] { display:inline-flex; align-items:center; min-height:38px; }
.main-nav > .nav-contact { display:inline-flex; align-items:center; justify-content:center; min-height:42px; margin:0; line-height:1; transform:translate(var(--mag-x,0px),var(--mag-y,0px)); }
.main-nav > #language-toggle { margin:0; }
@media (min-width:861px) and (max-width:1120px) {
  .site-header > .wordmark { font-size:1rem; letter-spacing:.04em; }
  .main-nav { gap:clamp(12px,1.25vw,18px); }
  .main-nav a { font-size:.72rem; letter-spacing:.08em; }
  .main-nav > .nav-contact { padding:10px 14px !important; }
}
@media (max-width:860px) {
  .main-nav { flex:initial; margin-left:0; gap:22px; }
  .main-nav > a, .main-nav > button { align-self:auto; }
  .main-nav > a[href="#sobre"] { min-height:auto; }
  .main-nav > .nav-contact { margin-top:10px; min-height:42px; }
}

/* v18.2: numeração automática das seções visíveis, aviso de privacidade e slot do captcha */
body { counter-reset: section-number; }
.about .about-top .eyebrow::before,
.projects .section-heading .eyebrow::before,
.publications .section-heading .eyebrow::before,
.testimonials .section-heading .eyebrow::before,
.illustrations .section-heading .eyebrow::before,
.process .section-heading .eyebrow::before,
.contact > .eyebrow::before {
  counter-increment: section-number;
  content: counter(section-number, decimal-leading-zero) " / ";
}
.contact-privacy { font-size: .8rem; line-height: 1.5; opacity: .8; margin: 4px 0 0; }
.contact-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.captcha-slot { min-height: 65px; margin: 8px 0; }
.captcha-slot[hidden] { display: none; }

/* Ensure unavailable, undocumented case-study actions are really removed from layout and focus order. */
.project-actions .case-study-open[hidden] { display: none !important; }
