@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#050505;--panel:#0c0c0d;--line:#242426;--ink:#f4f4f2;--muted:#8d8d92;--accent:#d99a2b;--accent-warm:#f4c15d;--body:'DM Sans',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{isolation:isolate;margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--body)}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-warm));transform:scaleX(0);transform-origin:0 50%;z-index:50;pointer-events:none}
.ambient-background{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 72% 15%,rgba(217,154,43,.055),transparent 30%),#050505}.ambient-background canvas{display:block;width:100%;height:100%;opacity:.30}.page{position:relative;max-width:1440px;margin:auto;padding:0 64px}header{display:flex;align-items:center;gap:34px;min-height:112px;border-bottom:1px solid var(--line)}.brand{font:800 32px/1 var(--heading);letter-spacing:-2px}.brand span{color:var(--accent)}.header-note{font-size:13px;font-weight:500;color:var(--muted);margin-right:auto}.header-note span{margin:0 16px;color:#56565a}.contact-link{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:600;padding:12px 0}.contact-link>span{font-size:23px;color:var(--accent)}.contact-link:hover{color:var(--accent)}main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.9fr);gap:80px;align-items:start;padding:60px 0 44px}.intro{padding:0}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.17em;line-height:1.6;margin:0}.intro .eyebrow{color:var(--accent);display:flex;align-items:center;gap:13px}.intro .eyebrow::before{content:'';width:23px;height:1px;background:var(--accent)}h1{font:600 clamp(64px,7vw,99px)/1.035 var(--heading);letter-spacing:-.075em;margin:26px 0 27px}h1>span{display:block}.accent-line{color:var(--accent)}.role{font-size:18px;line-height:1.6;margin:0 0 12px;font-weight:500;max-width:440px}.bio{font-size:16px;line-height:1.8;color:var(--muted);max-width:445px;margin:0}.project-cta{display:inline-flex;align-items:center;gap:30px;margin-top:27px;border-bottom:1px solid var(--accent);padding:11px 0;min-height:48px;font-size:15px;font-weight:600;color:var(--accent)}.project-cta>span{font-size:24px;line-height:1}.project-cta:hover{color:#f4c15d}.networks{margin-top:46px;max-width:510px}.networks>.section-label{font-size:10px;letter-spacing:.14em;color:var(--muted)}.social-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:15px}.social{display:grid;grid-template-columns:22px 1fr 15px;align-items:center;gap:13px;padding:18px 10px 18px 0;min-width:0;transition:color .2s,background .2s}.social+.social{border-left:1px solid var(--line);padding-left:22px}.social:hover{color:var(--accent)}.social-icon{height:22px;width:22px}.social-icon svg{width:100%;height:100%}.social-text{display:flex;flex-direction:column;gap:1px;min-width:0}.social-text strong{font-size:15px;font-weight:500}.social-text>span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.social-end{color:var(--muted);font-size:19px;align-self:start}.email-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px}.email-card>div{min-width:0}.email-label{display:none}.email-card a{font-size:14px;overflow-wrap:anywhere;color:var(--muted)}.email-card a:hover{color:var(--accent)}#copy-email{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:4px;cursor:pointer}#copy-email:hover{color:var(--accent);border-color:var(--accent)}.copy-status{min-height:20px;color:var(--accent);font-size:12px;margin:3px 0 0}.contact{position:relative;padding:30px 30px 26px;background:var(--panel);border:1px solid var(--line);border-radius:4px}.contact::before{content:'';position:absolute;top:-1px;left:30px;width:46px;height:2px;background:var(--accent)}.contact .section-label{color:var(--accent);font-size:10px;margin-bottom:17px}.contact h2{font:500 45px/1.1 var(--heading);letter-spacing:-.055em;margin:0}.contact h2 span{color:var(--accent)}.section-copy{font-size:16px;line-height:1.7;color:var(--muted);margin:16px 0 24px;max-width:300px}.required-note{font-size:11px;color:var(--muted);margin:0 0 16px}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:14px;font-weight:500;margin-bottom:7px}input,select,textarea{width:100%;background:#09090a;border:1px solid #2b2b2e;color:var(--ink);border-radius:3px;padding:12px 11px;font-size:14px;min-height:46px;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:#69696e;opacity:1}input:hover,select:hover,textarea:hover{border-color:#454549}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(217,154,43,.13)}select:has(option:checked[value=""]){color:#69696e}textarea{resize:vertical;min-height:118px;max-height:320px}.label-row{display:flex;justify-content:space-between;gap:10px}.label-row>span{font-size:11px;color:var(--muted)}[aria-invalid="true"]{border-color:#e58879}.field-error{display:block;font-size:12px;color:#f1998b;margin-top:6px}.field-error[hidden]{display:none}.submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:13px 17px;background:var(--accent);color:#080808;border:0;border-radius:3px;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.submit:hover{background:#efb94f}.submit:active{transform:scale(.98)}.submit:disabled{opacity:.7;cursor:wait}.submit>span:last-child{font-size:23px;line-height:1}.form-note{font-size:11px;line-height:1.7;color:#77777c;margin:14px 0 0}.feedback{font-size:14px;border-left:2px solid var(--accent);padding:12px;color:var(--ink);background:#11100d}.honeypot{display:none!important}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:19px 0 24px;font-size:11px;color:var(--muted)}footer a{padding:8px 0}footer a span{margin-left:14px}.background-toggle{background:none;border:0;color:var(--muted);font:inherit;min-height:36px;padding:8px;cursor:pointer}.background-toggle:hover{color:var(--ink)}.background-toggle[hidden]{display:none}.background-toggle:disabled{cursor:default}.skip{position:absolute;top:-100px;left:20px;background:var(--accent);color:#080808;padding:12px 20px;z-index:20}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){main{padding-top:75px}}
@media(max-width:1100px){.page{padding:0 36px}main{gap:40px;grid-template-columns:1.1fr 1fr}.contact{padding:28px 24px}.input-row{grid-template-columns:1fr;gap:0}h1{font-size:clamp(58px,7.3vw,80px)}.social-list{grid-template-columns:1fr}.social+.social{border-left:0;border-top:1px solid var(--line);padding-left:0}.social-text{flex-direction:row;align-items:center;gap:10px;justify-content:space-between}.social-end{align-self:center}}
@media(max-width:760px){.page{padding:0 22px}header{min-height:88px;gap:20px}.brand{font-size:28px}.header-note{font-size:11px}.header-note span{display:none}.contact-link{display:none}main{grid-template-columns:1fr;gap:38px;padding:40px 0 35px}h1{font-size:clamp(62px,12vw,88px);margin:25px 0}.intro .eyebrow{font-size:10px;letter-spacing:.13em}.role{font-size:18px}.bio{font-size:16px}.project-cta{font-size:15px;margin-top:22px}.networks{margin-top:30px;max-width:none}.social-list{grid-template-columns:1fr 1fr}.social+.social{border-top:0;border-left:1px solid var(--line);padding-left:18px}.social-text{flex-direction:column;align-items:flex-start;gap:1px}.social-text>span{font-size:11px}.social-end{display:none}.social{grid-template-columns:22px 1fr;gap:10px}.email-card a{font-size:13px}.contact{padding:28px 24px}.contact h2{font-size:40px}.contact h2 br{display:none}.section-copy{font-size:16px;max-width:none}.field label,input,select,textarea{font-size:16px}.form-note,.required-note{font-size:12px}.contact .section-label{font-size:11px}.input-row{grid-template-columns:1fr}.contact::before{left:24px}footer{flex-wrap:wrap;gap:4px 12px}.background-toggle{order:3;width:100%;text-align:left;padding:4px 0}.ambient-background canvas{opacity:.22}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Selected work */
.header-nav{display:flex;align-items:center;gap:34px}.header-nav>a:first-child{font-size:14px;font-weight:600;color:var(--muted);padding:12px 0}.header-nav>a:first-child:hover{color:var(--accent)}.header-nav .contact-link{display:flex}.work-link{display:inline-flex;align-items:center;gap:10px;margin-left:25px;color:var(--muted);font-size:13px;font-weight:600;min-height:48px}.work-link:hover{color:var(--ink)}
.projects{border-top:1px solid var(--line);padding:66px 0 72px;scroll-margin-top:20px}.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.projects-heading .eyebrow{color:var(--accent)}.projects-heading h2{font:600 clamp(34px,4vw,56px)/1.13 var(--heading);letter-spacing:-.055em;margin:14px 0 0;max-width:610px}.projects-heading h2 span{color:var(--accent)}.projects-heading>p{color:var(--muted);max-width:300px;margin:0 0 4px;font-size:14px;line-height:1.7}
.projects-outro{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:25px 0 0}.projects-outro p{font-size:17px;font-weight:600;margin:0 0 20px}.projects-outro a{color:var(--accent);font-size:14px;font-weight:700;margin-bottom:20px}.projects-outro a span{margin-left:13px;font-size:21px;font-weight:400}.projects-outro a:hover{text-decoration:underline}
@media(max-width:760px){.header-nav{margin-left:auto}.header-nav>a:first-child{font-size:12px}.header-nav .contact-link{display:none}.work-link{margin-left:18px}.projects{padding:48px 0 55px}.projects-heading{display:block}.projects-heading>p{margin-top:15px;max-width:500px}.projects-outro{align-items:flex-start;flex-direction:column;gap:0}.projects-outro p{margin-bottom:3px}}
@media(max-width:400px){.work-link{display:flex;margin-left:0;width:max-content}.social-list{grid-template-columns:1fr}.social+.social{border-left:0;border-top:1px solid var(--line);padding-left:0}}
@media(max-width:480px){.header-note{display:none}}
@media(max-width:400px){h1{font-size:clamp(42px,14vw,56px)}}

/* Galeria de projetos: o conteúdo e os controles independem do WebGL. */
.showcase{display:grid;grid-template-columns:minmax(310px,.88fr) minmax(0,1.12fr);min-height:492px;margin:0 0 24px;border:1px solid #39332a;background:#0c0c0d;overflow:hidden}
.showcase-content{display:flex;flex-direction:column;padding:38px 38px 34px;z-index:1}
.showcase-content>.eyebrow{color:var(--accent);font-size:10px}
.showcase h3{font:600 clamp(32px,3.2vw,48px)/1.12 var(--heading);letter-spacing:-.06em;margin:17px 0 11px}
.showcase-lead{color:#b2b0ae;line-height:1.6;font-size:14px;max-width:375px;margin:0 0 22px}
.showcase-tabs{border-top:1px solid #35312c}
.showcase-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:17px}
.showcase-tab{display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;width:100%;min-height:50px;padding:9px 2px;text-align:left;color:#b4b2b0;background:transparent;border:0;border-bottom:1px solid #35312c;cursor:pointer;font-size:14px;transition:color .2s,padding .2s}
.showcase-tab{grid-template-columns:24px 1fr 16px;min-height:59px;gap:6px;font-size:12px;line-height:1.3}
.showcase-tab>span:first-child{color:#8b8986;font:600 11px var(--body)}
.showcase-tab>span:last-child{font-size:20px;color:var(--accent);opacity:0;transform:translate(-4px,4px);transition:opacity .2s,transform .2s}
.showcase-tab:hover,.showcase-tab.is-active{color:#fff;padding-left:8px}
.showcase-tab.is-active>span:first-child{color:var(--accent)}
.showcase-tab:hover>span:last-child,.showcase-tab.is-active>span:last-child{opacity:1;transform:none}
.showcase-detail{margin-top:auto;padding-top:24px;min-height:122px}
.showcase-detail>span{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.14em}
.showcase-detail p{font-size:13px;line-height:1.6;color:#b2b0ae;margin:7px 0 10px;max-width:390px}
.showcase-detail h4{font:600 24px/1.2 var(--heading);letter-spacing:-.04em;margin:7px 0 6px}
.showcase-detail .showcase-note{color:var(--accent-warm);border-left:2px solid var(--accent);padding-left:10px;font-size:12px}
.showcase-note[hidden],.showcase-gallery[hidden]{display:none}
.showcase-gallery{display:flex;gap:7px;overflow-x:auto;padding:8px 0 10px;margin:10px 0 12px;scrollbar-color:#6c5635 transparent}
.showcase-gallery button{flex:none;width:76px;min-height:76px;padding:5px;background:#141415;color:#bdbbbc;border:1px solid #343131;cursor:pointer;font-size:10px;line-height:1.2}
.showcase-gallery button:hover,.showcase-gallery button.is-active{color:#fff;border-color:var(--accent)}
.showcase-gallery img{display:block;width:100%;height:42px;object-fit:cover;margin-bottom:5px}
.showcase-gallery button:focus-visible{outline-offset:2px}
.showcase-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:16px}
.showcase-actions>span{font-size:11px;color:#aaa39b;line-height:1.4}
.showcase-detail .showcase-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:46px;padding:10px 13px;background:var(--accent);border:1px solid var(--accent);color:#080808;font-size:13px;font-weight:700}
.showcase-detail .showcase-actions a:hover{background:var(--accent-warm);border-color:var(--accent-warm);color:#080808}
.showcase-actions a span,.showcase-detail .showcase-actions a span{color:#080808;margin:0;font-size:18px}
.showcase-detail a{font-size:13px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--accent);padding:2px 0 6px}
.showcase-detail a span{color:var(--accent);margin-left:12px}
.showcase-detail a:hover{color:var(--accent)}
.showcase-visual{position:relative;min-height:430px;background:linear-gradient(145deg,#171717,#0a0a0b 64%);border-left:1px solid #39332a;overflow:hidden}
.showcase-visual::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.2),transparent 30%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 25%)}
#showcase-canvas{display:none;width:100%;height:100%;position:absolute;inset:0;touch-action:pan-y}
.showcase-visual.is-webgl #showcase-canvas{display:block;cursor:pointer}
#showcase-fallback{position:absolute;inset:7%;width:86%;height:86%;object-fit:contain;filter:drop-shadow(0 26px 24px rgba(0,0,0,.5));border:1px solid #6c5635}
.showcase-visual.is-webgl #showcase-fallback{display:none}
.showcase-visual-label{position:absolute;right:22px;bottom:18px;font-size:10px;letter-spacing:.17em;color:#d7c2a1;z-index:1;pointer-events:none}
.showcase{grid-template-rows:auto 1fr}
.showcase-content{grid-column:1;grid-row:1;padding-bottom:12px}
.showcase-detail{grid-column:1;grid-row:2;margin:0;padding:22px 38px 34px;min-height:0}
.showcase-visual{grid-column:2;grid-row:1/span 2}
.showcase-gallery{margin:16px 0 0}
@media(max-width:950px){.showcase{grid-template-columns:1fr}.showcase-content{padding:28px}.showcase-visual{min-height:350px;border-left:0;border-top:1px solid #39332a}.showcase-detail{margin-top:18px;min-height:0}.showcase h3 br{display:none}}
@media(max-width:600px){.showcase{margin-bottom:20px}.showcase-content{padding:25px 20px}.showcase h3{font-size:32px}.showcase-lead{margin-bottom:18px}.showcase-tabs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px}.showcase-visual{min-height:300px}.showcase-tab{min-height:58px;font-size:11px;grid-template-columns:21px 1fr 12px;gap:4px}.showcase-visual-label{font-size:8px}}
@media(max-width:380px){.showcase-tabs{grid-template-columns:1fr}.showcase-tab{min-height:45px;font-size:12px}}
@media(max-width:950px){.showcase{display:flex;flex-direction:column}.showcase-content{padding:28px 28px 24px}.showcase-visual{min-height:350px}.showcase-detail{margin:0;padding:24px 28px 30px;border-top:1px solid #39332a}}
@media(max-width:600px){.showcase-content{padding:25px 20px 21px}.showcase-visual{min-height:300px}.showcase-detail{padding:22px 20px 25px}}
@media(prefers-reduced-motion:reduce){.showcase-tab,.showcase-tab>span:last-child{transition:none}}
/* Tecnologias e novos projetos */
.header-nav>a:not(.contact-link){font-size:14px;font-weight:600;color:var(--muted);padding:12px 0;white-space:nowrap}
.header-nav>a:not(.contact-link):hover{color:var(--accent)}
.skills{border-top:1px solid var(--line);padding:61px 0 64px;scroll-margin-top:20px}
.skills-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:26px}
.skills-heading .eyebrow{color:var(--accent)}
.skills-heading h2{font:600 clamp(32px,3.8vw,52px)/1.15 var(--heading);letter-spacing:-.055em;margin:12px 0 0}
.skills-heading h2 span{color:var(--accent)}
.skills-side{display:flex;align-items:end;gap:20px}
.skills-side p{max-width:310px;margin:0 0 2px;color:var(--muted);font-size:14px;line-height:1.65}
.skills-toggle{flex:none;min-width:94px;min-height:44px;padding:8px 12px;border:1px solid #4b3a20;background:#12100c;color:#e6ca94;font-size:12px;font-weight:600;cursor:pointer}
.skills-toggle span{margin-left:8px}
.skills-toggle:hover{border-color:var(--accent);color:#fff}
.skills-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x;cursor:grab}
.skills-viewport:active{cursor:grabbing}
.skills-viewport::-webkit-scrollbar{display:none}
.skills-track{display:flex;width:max-content;max-width:none;will-change:transform}
.skills-track.is-ready{animation:skills-marquee 48s linear infinite}
.skills-viewport:hover .skills-track,.skills-viewport:active .skills-track,.skills-viewport:focus-within .skills-track,.skills-track.is-paused,.skills-track.is-page-hidden{animation-play-state:paused}
.skills-set{display:flex;align-items:stretch;gap:11px;flex:none;list-style:none;margin:0;padding:0 11px 0 0}
.tech-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;flex:none;width:151px;height:121px;background:#0d0d0e;border:1px solid #2d2b28;color:#e8e8e6;font-size:13px;font-weight:600;letter-spacing:-.015em;white-space:nowrap}
.tech-item img{display:block;width:38px;height:38px;object-fit:contain}
.tech-logo--mono{filter:invert(1)}
.tech-glyph{display:grid;place-items:center;width:44px;height:38px;font:800 14px/1 var(--heading);letter-spacing:-.08em}
.tech-glyph--sql{color:#77b8d5;border:2px solid #77b8d5;border-radius:50%;font-size:12px}
.tech-glyph--gsap{color:#a6de55;font-size:18px;letter-spacing:-.08em}
.tech-glyph--powerbi{color:#e4b941;font-size:19px;letter-spacing:-.07em}
.skills-hint{margin:13px 0 0;color:#87878b;font-size:11px}
@keyframes skills-marquee{to{transform:translateX(-50%)}}
@media(max-width:760px){.header-nav{gap:16px}.header-nav>a:not(.contact-link){font-size:12px}.skills{padding:46px 0}.skills-heading{display:block}.skills-side{justify-content:space-between;align-items:center;margin-top:15px}.skills-side p{max-width:340px}}
@media(max-width:600px){.skills-heading h2{font-size:34px}.tech-item{width:132px;height:110px}.skills-side p{font-size:12px}.skills-toggle{min-width:84px}}
@media(max-width:390px){.header-nav{gap:11px}.header-nav>a:not(.contact-link){font-size:11px}}
@media(prefers-reduced-motion:reduce){.skills-track.is-ready{animation:none}.skills-set[aria-hidden="true"],.skills-toggle,.skills-hint{display:none}}
/* =========================================================
   DARK TOTAL — preto / grafite / âmbar
   ========================================================= */
body{
  background:
    radial-gradient(circle at 78% 8%,rgba(217,154,43,.035),transparent 23%),
    #050505;
}

header{
  background:rgba(5,5,5,.72);
}

.contact{
  background:linear-gradient(180deg,#0e0e0f 0%,#09090a 100%);
  border-color:#29292c;
  box-shadow:0 26px 70px -48px rgba(0,0,0,.95);
}

.contact::before{
  background:linear-gradient(90deg,var(--accent),var(--accent-warm));
}

.social:hover{
  background:rgba(255,255,255,.018);
}

#copy-email{
  background:#09090a;
}

#copy-email:hover{
  background:#101011;
}

.project-cta{
  border-bottom-color:rgba(217,154,43,.55);
}

.project-cta:hover{
  border-bottom-color:var(--accent-warm);
}

.scroll-progress{
  background:linear-gradient(90deg,#8d5a08,var(--accent),var(--accent-warm));
}

::selection{
  background:#d99a2b;
  color:#050505;
}

/* Contador do campo de mensagem */
.label-row>span{
  font-variant-numeric:tabular-nums;
  color:#77777c;
  transition:color .2s ease;
}

.message-field:focus-within .label-row>span{
  color:var(--accent);
}

#counter.is-near-limit{
  color:#f0b24a;
}

#counter.is-at-limit{
  color:#ff8f73;
}

/* deixa todos os campos realmente escuros */
input,
select,
textarea{
  background:#09090a;
  border-color:#2a2a2d;
}

input:focus,
select:focus,
textarea:focus{
  background:#0b0b0c;
}

select option{
  background:#0b0b0c;
  color:var(--ink);
}


/* =========================================================
   CONTATO RÁPIDO — WhatsApp + assunto em botões
   ========================================================= */
.whatsapp-cta{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  width:100%;
  margin:22px 0 0;
  padding:14px 15px;
  border:1px solid #353026;
  border-radius:4px;
  background:linear-gradient(135deg,#12110f 0%,#0a0a0a 100%);
  color:var(--ink);
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.whatsapp-cta:hover{
  border-color:var(--accent);
  background:linear-gradient(135deg,#17140f 0%,#0c0c0c 100%);
  transform:translateY(-1px);
}
.whatsapp-cta:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:4px;
}
.whatsapp-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #49391f;
  border-radius:3px;
  background:#18130b;
  color:var(--accent-warm);
}
.whatsapp-icon svg{
  width:23px;
  height:23px;
}
.whatsapp-cta>span:nth-child(2){
  display:flex;
  flex-direction:column;
  min-width:0;
}
.whatsapp-cta strong{
  font-size:14px;
  font-weight:700;
  line-height:1.35;
}
.whatsapp-cta small{
  margin-top:2px;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
.whatsapp-arrow{
  color:var(--accent);
  font-size:23px;
  line-height:1;
}
.contact-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:21px 0 17px;
  color:#77777c;
  font-size:10px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.contact-divider::before,
.contact-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:#252527;
}
.contact-divider span{
  white-space:nowrap;
}
.required-note{
  margin-bottom:17px;
}
.subject-field>label{
  display:block;
  font-size:14px;
  font-weight:500;
  margin-bottom:8px;
}
.subject-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.subject-option{
  min-height:42px;
  padding:8px 9px;
  border:1px solid #2b2b2e;
  border-radius:3px;
  background:#09090a;
  color:#a7a7ac;
  font-size:11px;
  font-weight:600;
  line-height:1.25;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .15s ease;
}
.subject-option:hover{
  color:var(--ink);
  border-color:#4a4030;
  background:#10100f;
}
.subject-option[aria-pressed="true"]{
  color:#080808;
  background:var(--accent);
  border-color:var(--accent);
}
.subject-option:active{
  transform:scale(.98);
}
.subject-field.is-invalid .subject-options{
  outline:1px solid #e58879;
  outline-offset:2px;
  border-radius:3px;
}
@media(max-width:520px){
  .whatsapp-cta{
    grid-template-columns:40px minmax(0,1fr) auto;
    padding:13px;
  }
  .whatsapp-cta small{
    display:none;
  }
  .subject-options{
    grid-template-columns:1fr;
  }
  .subject-option{
    text-align:left;
    padding-left:12px;
  }
}


/* =========================================================
   CONTATO — ROTA ÚNICA PELO WHATSAPP
   ========================================================= */
.contact{
  background:linear-gradient(180deg,#0e0e0f 0%,#09090a 100%);
}

.whatsapp-message-box{
  margin-top:24px;
}

.whatsapp-message-box .label-row{
  margin-bottom:8px;
}

.whatsapp-message-box label{
  font-size:14px;
  font-weight:500;
}

#whatsapp-message{
  display:block;
  width:100%;
  min-height:150px;
  max-height:300px;
  resize:vertical;
  padding:14px 13px;
  border:1px solid #2b2b2e;
  border-radius:3px;
  background:#09090a;
  color:var(--ink);
  line-height:1.65;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

#whatsapp-message::placeholder{
  color:#66666b;
}

#whatsapp-message:hover{
  border-color:#414145;
}

#whatsapp-message:focus{
  outline:none;
  border-color:var(--accent);
  background:#0b0b0c;
  box-shadow:0 0 0 3px rgba(217,154,43,.13);
}

.whatsapp-help{
  margin:9px 0 16px;
  color:#707075;
  font-size:10px;
  line-height:1.55;
}

.whatsapp-send{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:54px;
  padding:13px 16px;
  border:1px solid var(--accent);
  border-radius:3px;
  background:var(--accent);
  color:#080808;
  font-size:14px;
  font-weight:750;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .15s ease,opacity .2s ease;
}

.whatsapp-send:hover:not(:disabled){
  background:var(--accent-warm);
  border-color:var(--accent-warm);
}

.whatsapp-send:active:not(:disabled){
  transform:scale(.985);
}

.whatsapp-send:disabled{
  opacity:.38;
  cursor:not-allowed;
}

.whatsapp-send-icon{
  display:grid;
  place-items:center;
}

.whatsapp-send-icon svg{
  width:22px;
  height:22px;
}

#counter{
  font-variant-numeric:tabular-nums;
}

#counter.is-near-limit{
  color:#f0b24a;
}

#counter.is-at-limit{
  color:#ff8f73;
}

@media(max-width:520px){
  .whatsapp-send{
    grid-template-columns:22px minmax(0,1fr) auto;
  }

  #whatsapp-message{
    min-height:135px;
  }
}


/* =========================================================
   AJUSTES FINAIS DE RESPONSIVIDADE
   ========================================================= */

/* Celulares médios: reduz o hero e organiza o contador */
@media (max-width: 520px) {
  h1 {
    font-size: clamp(48px, 13vw, 64px);
    line-height: 1.04;
    letter-spacing: -.065em;
  }

  .whatsapp-message-box .label-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }

  #counter {
    width: 100%;
    font-size: 10px;
    line-height: 1.4;
  }

  .contact {
    padding: 25px 20px;
  }

  .contact::before {
    left: 20px;
  }

  .whatsapp-send {
    min-height: 52px;
    padding-inline: 14px;
  }
}

/* Celulares pequenos */
@media (max-width: 380px) {
  .page {
    padding-left: 16px;
    padding-right: 16px;
  }

  h1 {
    font-size: clamp(42px, 13.5vw, 52px);
  }

  .contact {
    padding: 22px 17px;
  }

  .contact::before {
    left: 17px;
  }

  .whatsapp-send {
    font-size: 13px;
    gap: 9px;
  }
}


/* =========================================================
   CORREÇÕES DE ESPAÇAMENTO — CONTATO / MOBILE
   ========================================================= */
.contact h2{
  max-width:100%;
  text-wrap:balance;
}

@media (max-width:760px){
  main{
    gap:34px;
  }

  .contact{
    padding:26px 22px;
  }

  .contact::before{
    left:22px;
  }

  .contact .section-label{
    margin-bottom:14px;
  }

  .contact h2{
    font-size:clamp(34px,9.8vw,40px);
    line-height:1.08;
    letter-spacing:-.035em;
  }

  /* Mantém a quebra planejada: "Qual é a" / "sua ideia?" */
  .contact h2 br{
    display:block;
  }

  .section-copy{
    max-width:none;
    margin:14px 0 20px;
    line-height:1.6;
  }

  .whatsapp-message-box{
    margin-top:0;
  }
}

@media (max-width:520px){
  main{
    gap:32px;
  }

  .contact{
    padding:23px 19px;
  }

  .contact::before{
    left:19px;
  }

  .contact .section-label{
    margin-bottom:12px;
    line-height:1.45;
  }

  .contact h2{
    font-size:clamp(33px,9.5vw,38px);
    line-height:1.1;
    letter-spacing:-.03em;
  }

  .section-copy{
    font-size:15px;
    margin:12px 0 18px;
  }

  .whatsapp-message-box .label-row{
    margin-bottom:7px;
  }
}

@media (max-width:380px){
  main{
    gap:28px;
  }

  .contact{
    padding:20px 16px;
  }

  .contact::before{
    left:16px;
  }

  .contact h2{
    font-size:clamp(31px,9.4vw,35px);
  }

  .contact .section-label{
    margin-bottom:11px;
  }
}


/* GSAP — linha de destaque do card de contato */
.contact{
  --contact-accent-scale:1;
}
.contact::before{
  transform:scaleX(var(--contact-accent-scale));
  transform-origin:left center;
}
