/* Assinatura: the decision path is the visual structure, never a simulated dashboard. */
@view-transition { navigation: auto; }
body { background:var(--bg); }
body::before { z-index:-1; opacity:.035; background-image:url("texture.svg"); background-size:180px 180px; }
body::after,.hero::after,.signal-map::before,.portrait::after { display:none; }
:is(.site-header,.site-header.scrolled,.site-header.is-scrolled,.portrait-note) { backdrop-filter:none; background:var(--bg); box-shadow:none; }
:is(h1,h2,.section-title,.display,.method-panel h3,.delivery h3,.case-copy h3,.story-title) { font-family:var(--font-display); font-weight:400; letter-spacing:-.035em; }
:is(.label,.eyebrow,.signal-head span,.case-meta,.panel-kicker,.delivery-index) { text-transform:none; letter-spacing:.025em; }
.label::before { width:1rem; }
:is(.button-primary,.button,.nav-cta,.nav-action) { box-shadow:none; }
:is(.cta-panel,.cta-box,.method-panel,.delivery-card,.capability-card) { background:var(--surface); box-shadow:none; }
.editorial .hero { min-height:min(920px,100svh); padding:10rem 0 6rem; }
.editorial .hero-grid { grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(2rem,6vw,6rem); }
.editorial .hero .display { max-width:11ch; font-size:clamp(3.5rem,7.1vw,7rem); line-height:.98; }
.hero .display span { color:inherit; }
.hero-copy > .label { max-width:32ch; line-height:1.6; font-size:.68rem; }
.hero-copy > .lede { max-width:46ch; font-size:1rem; line-height:1.8; }
.signal-map { align-self:center; min-height:0; padding:2.5rem 0 0 1rem; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible; }
.signal-head { margin:0 0 2.8rem 3.6rem; }
.signal-head span { color:var(--body); font-weight:400; font-size:.75rem; }
.signal-flow { gap:1.6rem; }
.signal-flow::before { top:1.1rem; bottom:2.1rem; left:1rem; background:var(--border); }
.decision-line { position:absolute; top:1.1rem; bottom:2.1rem; left:1rem; width:1px; background:var(--accent); transform-origin:top; }
.signal-row { grid-template-columns:2rem minmax(0,1fr); gap:1.6rem; padding:0; min-height:68px; border:0; }
.signal-index { border:0; border-radius:0; color:var(--accent); background:var(--bg); font-weight:400; height:2rem; }
.signal-row strong { font-size:1rem; font-weight:500; margin-bottom:.5rem; }
.signal-row small { font-size:.8rem; line-height:1.5; }
.signal-row > em { display:none; }
.signal-caption { margin:2rem 0 0 3.6rem; padding-top:1.4rem; max-width:31ch; border-color:var(--border); }
#conteudo { position:relative; }
.reading-thread { position:absolute; top:8rem; bottom:10rem; left:clamp(9px,1.8vw,28px); width:1px; background:var(--border); pointer-events:none; }
.reading-thread > span { display:block; height:100%; background:var(--accent); transform-origin:top; }
#situacoes { padding-block:clamp(5rem,9vw,9rem); }
#entregas { padding-block:clamp(6rem,12vw,12rem); }
#metodo { padding-block:clamp(6rem,11vw,11rem); }
#cases { padding-block:clamp(5rem,9vw,9rem); }
#sobre { padding-block:clamp(6rem,12vw,12rem); }
#contato { padding-block:clamp(3rem,6vw,6rem) clamp(5rem,10vw,10rem); }
.deliveries,.cases { background:transparent; }
.problem-sticky .section-title { max-width:13ch; }
.problem-item { grid-template-columns:2rem minmax(0,1fr); column-gap:1rem; padding:2rem 0; }
.problem-item p { grid-column:2; max-width:48ch; }
.problem-item h3 { font-size:1.15rem; font-weight:500; }
.problem-item:hover { padding-left:0; }
.delivery-grid { grid-template-columns:1.15fr 1fr; gap:0 4rem; border:0; border-radius:0; overflow:visible; }
.delivery { display:grid; grid-template-columns:1fr; min-height:0; padding:2rem 0; border:0; border-top:1px solid var(--border); background:none; }
.delivery:hover { background:none; }
.delivery:first-child { grid-row:span 2; padding-right:2.5rem; border-right:1px solid var(--border); }
.delivery:first-child h3 { max-width:12ch; font-size:clamp(2.5rem,4.4vw,4.5rem); margin-top:3rem; }
.delivery:first-child p { max-width:38ch; }
.delivery-index { margin-bottom:1.7rem; font-size:.7rem; }
.delivery-index::after { content:none; }
.delivery h3 { max-width:18ch; font-size:2.25rem; }
.delivery p { min-height:0; max-width:48ch; }
.delivery ul { margin-top:1.5rem; padding-top:1.2rem; align-self:end; }
.method-shell { grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); gap:4rem; }
.method-tab { border-radius:0; border:0; border-bottom:1px solid var(--border); padding:1.3rem .5rem; }
.method-tab[aria-selected="true"] { border-color:var(--accent); background:none; }
.method-tab[aria-selected="true"] span { color:var(--fg); }
.method-panel { border:0; border-left:1px solid var(--accent); border-radius:0; background:none; padding:2rem 3rem; }
.method-panel h3 { font-size:clamp(2.5rem,4.5vw,4.5rem); }
.case-ledger { border-top:0; }
.case-row { position:relative; border-top:1px solid var(--border); border-bottom:0; padding-block:3.5rem; }
.case-row::before { content:""; position:absolute; left:-1rem; top:0; bottom:0; width:2px; background:var(--accent); opacity:0; transition:opacity .2s; }
.case-row.is-reading::before,.case-row:focus-within::before,.case-row:hover::before { opacity:1; }
.case-row:last-child { border-bottom:1px solid var(--border); }
.case-meta { line-height:1.9; }
.case-copy h3 { max-width:23ch; }
.case-result strong { font-weight:500; }
.result-number { display:inline-block; font-variant-numeric:tabular-nums; }
.tools-section { padding-block:2rem; }
.portrait img { border-radius:0 0 24px 0; filter:saturate(.65) contrast(1.05); }
.portrait-note { position:static; padding:1.2rem 0; border:0; border-bottom:1px solid var(--border); border-radius:0; }
.about-copy .section-title { max-width:16ch; font-size:clamp(2.8rem,4.8vw,4.8rem); }
.cta-panel { padding:4rem 0 0; border:0; border-top:1px solid var(--accent); border-radius:0; background:none; }
.cta-panel h2 { max-width:16ch; font-size:clamp(3rem,6.4vw,6.5rem); }
.cta-panel > p { max-width:55ch; }
.profile h1 { font-size:clamp(3rem,6vw,6rem); line-height:1.04; }
.profile .hero { background:none; }
.profile .capability-grid { grid-template-columns:1.2fr 1fr; }
.profile .capability-card:first-child { grid-row:span 2; }
.profile .capability-card { border-radius:0; border-width:1px 0 0; }
.profile .profile-photo img { filter:saturate(.65) contrast(1.05); }
.mobile-project { position:fixed; z-index:35; bottom:max(1rem,env(safe-area-inset-bottom)); left:1rem; right:1rem; min-height:52px; align-items:center; justify-content:space-between; padding:.8rem 1.3rem; border-radius:999px; background:var(--accent); color:var(--bg); text-decoration:none; font-size:.86rem; font-weight:650; box-shadow:0 5px 25px #0006; display:none; }
html.lenis,html.lenis body { height:auto; }
.lenis.lenis-smooth { scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior:contain; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .problem-item h3 { transition:transform 180ms cubic-bezier(.2,.7,.2,1); }
 .problem-item:hover h3 { transform:translateX(6px); }
}
@media (max-width:1040px) { .editorial .hero-grid { gap:2.5rem; } .signal-row { gap:1rem; } .signal-head,.signal-caption { margin-left:3rem; } }
@media (max-width:900px) {
 .editorial .hero { min-height:0; padding:8rem 0 4rem; }
 .editorial .hero-grid,.method-shell { grid-template-columns:1fr; }
 .editorial .hero .display { font-size:clamp(3.7rem,10vw,6rem); max-width:13ch; }
 .signal-map { max-width:none; padding:2.5rem 0 0; }
 .signal-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
 .signal-flow::before,.decision-line { display:none; }
 .signal-head { margin:0 0 1.8rem; }
 .signal-caption { margin:1.8rem 0 0; max-width:48ch; }
 .reading-thread { left:7px; }
 .method-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .method-panel { min-height:300px; }
 .delivery-grid { gap:0 2rem; }
 .delivery:first-child { padding-right:2rem; }
 .mobile-project:not([hidden]) { display:flex; }
 body:has(.mobile-project) { padding-bottom:5rem; }
}
@media (max-width:650px) {
 :root { --gutter:1.5rem; }
 .editorial .hero { padding-top:7.5rem; }
 .editorial .hero .display { font-size:clamp(3.2rem,13vw,5rem); max-width:11ch; }
 .hero-copy > .lede { font-size:.95rem; margin:1.7rem 0; }
 .signal-flow { grid-template-columns:1fr; gap:1rem; }
 .signal-flow::before,.decision-line { display:block; }
 .signal-head { margin-left:3rem; }
 .signal-caption { margin-left:3rem; }
 .signal-row { min-height:76px; }
 .delivery-grid,.profile .capability-grid { grid-template-columns:1fr; gap:0; }
 .delivery:first-child { grid-row:auto; padding-right:0; border-right:0; }
 .delivery:first-child h3 { margin-top:0; font-size:2.5rem; }
 .delivery { padding:2rem 0; }
 .method-shell { gap:2rem; }
 .method-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .method-panel { min-height:330px; padding:1.5rem; }
 .method-panel h3 { font-size:2.6rem; }
 .case-row { padding-block:2.5rem; }
 .case-row::before { left:-.8rem; }
 .case-meta { font-size:.7rem; }
 .section-title { font-size:clamp(2.6rem,10vw,3.8rem); }
 .about-copy .section-title { font-size:2.8rem; }
 .portrait { width:100%; }
 .cta-panel { padding-top:3rem; }
 .cta-panel h2 { font-size:3.2rem; }
 .tools-strip .text-action { max-width:100%; }
}
@media (prefers-reduced-motion:reduce) {
 ::view-transition-old(root),::view-transition-new(root) { animation:none; }
 .reading-thread > span,.decision-line { transform:none !important; }
}
@media print { .reading-thread,.mobile-project { display:none !important; } }
@media(max-width:900px) { body:has(.mobile-project:not([hidden])) .google-consent-settings { bottom:calc(5.5rem + env(safe-area-inset-bottom)); } }
@supports(animation-timeline:view()) {
 @media(prefers-reduced-motion:no-preference) {
  .section-title:has(.title-reveal) { overflow:hidden; padding-bottom:.09em; }
  .title-reveal { display:block; animation:signature-title linear both; animation-timeline:view(); animation-range:entry 0% entry 100%; }
  @keyframes signature-title { from { transform:translateY(18%); opacity:.55; } to {transform:translateY(0);opacity:1;} }
 }
}
/* WhatsApp is the single entry point for AI-assisted intake and scheduling. */
.whatsapp-icon { display:inline-block; flex:0 0 22px; vertical-align:middle; }
a:has(> .whatsapp-icon) { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; }
.contact-number { color:var(--muted); font-family:var(--font-body); font-size:.9rem; margin-top:1rem; }
.mobile-project:has(> .whatsapp-icon) { display:none; }
@media(max-width:900px) { .mobile-project:not([hidden]):has(> .whatsapp-icon) { display:flex; justify-content:center; } }
/* The founder now appears in the opening composition; the method follows it. */
.editorial .hero .hero-grid { grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:center; }
.hero-portrait { width:min(100%,440px); margin:0 0 0 auto; }
.hero-portrait img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:65% 38%; border-radius:24px 24px 24px 0; filter:saturate(.85) contrast(1.03); }
.hero-portrait .portrait-note { padding:1rem 0; }
.decision-strip { padding:2rem 0 3rem; margin-block:0; }
.decision-strip .signal-head { margin:0 0 1.8rem; }
.decision-strip .signal-flow { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; padding-top:1.6rem; }
.decision-strip .signal-row { align-items:start; grid-template-columns:2rem 1fr; gap:.65rem; }
.decision-strip .signal-flow::before,.decision-strip .decision-line { top:0; bottom:auto; left:0; width:100%; height:1px; transform-origin:left; }
.decision-strip .signal-caption { margin:1.4rem 0 0; border:0; padding:0; max-width:none; }
.about-without-photo { display:block; }
.about-without-photo .about-copy { display:grid; grid-template-columns:1.2fr 1fr; gap:1.5rem 5rem; align-items:start; }
.about-without-photo .label { grid-column:1/-1; margin:0; }
.about-without-photo .section-title { grid-row:2/4; max-width:17ch; }
.about-without-photo .lede { margin:0; }
.about-without-photo .about-links { margin:0; }
.instagram-icon, .linkedin-icon { flex:0 0 22px; }
.footer-links .instagram-link, .footer-links .linkedin-link { display:inline-flex; align-items:center; gap:.65rem; }
.footer-main { grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); }
@media(max-width:1040px) and (min-width:901px) { .decision-strip .signal-row { grid-template-columns:1fr; } }
@media(max-width:900px) {
 .editorial .hero .hero-grid { grid-template-columns:1fr; gap:2.5rem; }
 .hero-portrait { width:min(100%,420px); margin:0; }
 .decision-strip .signal-flow { grid-template-columns:1fr; padding:0; gap:1rem; }
 .decision-strip .signal-flow::before,.decision-strip .decision-line { display:block; top:1rem; bottom:2rem; left:1rem; width:1px; height:auto; transform-origin:top; }
 .decision-strip .signal-row { grid-template-columns:2rem 1fr; gap:1rem; min-height:76px; align-items:center; }
 .decision-strip .signal-head,.decision-strip .signal-caption { margin-left:3rem; }
 .about-without-photo .about-copy { grid-template-columns:1fr; gap:1.5rem; }
 .about-without-photo .section-title { grid-row:auto; }
 .footer-main { grid-template-columns:1fr; }
 .footer-main .footer-links { justify-content:flex-start; }
}
/* A short, quiet emerald trail follows mouse travel, without replacing the arrow. */
.cursor-letters { position:fixed; inset:0; z-index:9999; overflow:hidden; pointer-events:none; user-select:none; }
.cursor-letters span { position:absolute; color:var(--accent); font:500 15px/1 var(--font-mono); animation:code-cursor-fade 900ms ease-out forwards; }
@keyframes code-cursor-fade {
  0% { opacity:0; transform:translate(-50%,-50%) rotate(var(--glyph-angle)) scale(.75); }
  15% { opacity:.5; transform:translate(-50%,-50%) rotate(var(--glyph-angle)) scale(1); }
  100% { opacity:0; transform:translate(-50%,calc(-50% - 14px)) rotate(var(--glyph-angle)) scale(1); }
}
@media (prefers-reduced-motion:reduce), (hover:none), (pointer:coarse) { .cursor-letters { display:none; } }

.hero-portrait img { object-position:50% 35%; filter:none; }

.profile .profile-photo img { object-position:50% 35%; filter:none; }
