@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&family=Syne:wght@500;600;700;800&display=swap');
:root{--pink:#fc3b7f;--blue:#174aaf;--cream:#f2e6c9;--ink:#171717;--paper:#f7f0e2;--display:'Syne',sans-serif;--body:'Space Grotesk',sans-serif;--mono:'DM Mono',monospace;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.promo-bar{height:34px;background:var(--blue);color:var(--cream);overflow:hidden;display:flex;align-items:center;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.promo-track{display:flex;gap:55px;min-width:max-content;animation:marquee 23s linear infinite}.promo-track span{padding-right:55px}.site-header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:20;border-bottom:1px solid #17171718}.wordmark{font:800 21px var(--display);letter-spacing:-.08em;position:relative}.wordmark-dot{font:500 9px var(--mono);vertical-align:top;margin-left:3px}.main-nav{display:flex;gap:28px;font:500 12px var(--mono);text-transform:uppercase}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--pink);transition:width .3s}.main-nav a:hover:after{width:100%}.header-cta{background:var(--pink);color:var(--ink);padding:14px 18px;border-radius:3px;font:500 11px var(--mono);letter-spacing:.04em;transition:transform .25s,background .25s}.header-cta:hover{transform:rotate(-2deg) scale(1.04);background:#ff6b9e}.header-cta span{font-size:16px;margin-left:12px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:min(790px,calc(100svh - 112px));height:760px;max-height:900px;position:relative;background:var(--blue);color:var(--cream);overflow:hidden;isolation:isolate}.hero-video,.hero-wash,.hero-grid{position:absolute;inset:0}.hero-video{z-index:-3;overflow:hidden}.hero-video iframe{position:absolute;left:50%;top:50%;width:177.78vh;height:56.25vw;min-width:100%;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none}.hero-wash{z-index:-2;background:linear-gradient(90deg,rgba(15,42,99,.92) 0%,rgba(23,74,175,.68) 58%,rgba(23,74,175,.36) 100%)}.hero-grid{z-index:-1;opacity:.14;background-image:linear-gradient(#f2e6c922 1px,transparent 1px),linear-gradient(90deg,#f2e6c922 1px,transparent 1px);background-size:65px 65px;mask-image:linear-gradient(90deg,#000,transparent)}.hero-content{position:relative;z-index:2;padding:clamp(70px,10vw,145px) 10vw 60px;max-width:1200px}.eyebrow,.section-kicker{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow-mark{width:8px;height:8px;background:var(--pink);display:inline-block;transform:rotate(45deg)}.hero h1{font:800 clamp(70px,11vw,158px)/.82 var(--display);letter-spacing:-.095em;margin:38px 0 28px;max-width:900px}.hero h1>span:first-of-type{color:var(--pink);font-style:italic}.hero-period{color:var(--pink)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;max-width:750px}.hero-bottom p{font:700 clamp(20px,2.2vw,30px)/1.05 var(--display);letter-spacing:-.04em;margin:0}.cream-dot{color:var(--pink)}.round-link{width:118px;height:118px;border:1px solid var(--cream);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:500 9px var(--mono);text-align:center;transition:background .4s,color .4s,transform .4s}.round-link b{font-size:22px;font-weight:400}.round-link:hover{background:var(--pink);color:var(--ink);border-color:var(--pink);transform:rotate(14deg) scale(1.1)}.hero-index{position:absolute;right:5vw;top:50%;writing-mode:vertical-rl;font:10px var(--mono);letter-spacing:.12em}.hero-index span{padding:12px 0}.hero-poly{position:absolute;width:190px;height:190px;right:12%;top:14%;background:var(--pink);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);opacity:.9;animation:floatSpin 18s linear infinite}.hero-ring{position:absolute;width:290px;height:290px;right:5%;bottom:-110px;border:2px solid var(--cream);border-radius:50%;opacity:.5;box-shadow:0 0 0 22px #f2e6c91a,0 0 0 45px #f2e6c91a;animation:spin 28s linear infinite}.scroll-cue{position:absolute;bottom:28px;left:5vw;font:9px var(--mono);letter-spacing:.12em;display:flex;align-items:center;gap:12px}.scroll-cue span{height:1px;width:42px;background:var(--pink)}.section-pad{padding:105px 9vw}.section-kicker{display:flex;justify-content:space-between;border-bottom:1px solid #17171733;padding-bottom:14px;color:#555}.intro-layout{display:grid;grid-template-columns:.75fr 1.6fr;gap:10%;padding:90px 5% 100px;align-items:center}.intro-stamp{width:205px;height:205px;border:1px solid var(--blue);color:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font:700 15px/1.15 var(--display);transform:rotate(-12deg);position:relative}.intro-stamp b{position:absolute;right:-15px;top:5px;font-size:46px;color:var(--pink);animation:spin 15s linear infinite}.intro-copy h2,.tech-title h2,.faq-layout h2,.contact-main h2{font:800 clamp(44px,6vw,82px)/.94 var(--display);letter-spacing:-.08em;margin:0 0 34px}.intro-copy h2 em,.faq-layout h2 em,.contact-main h2 em{font-style:normal;color:var(--pink)}.intro-copy p{max-width:660px;font-size:15px;line-height:1.75;color:#555}.intro-marquee{overflow:hidden;background:var(--pink);color:var(--ink);padding:13px 0;font:700 16px var(--display);letter-spacing:.08em;transform:rotate(-1.5deg) scale(1.02)}.intro-marquee div{white-space:nowrap;animation:marquee 20s linear infinite}.tech-section{background:var(--cream)}.tech-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-top:70px}.eyebrow:not(.light) .eyebrow-mark{background:var(--blue)}.tech-title h2{font-size:clamp(52px,7vw,94px);margin:28px 0}.tech-title h2 span{color:var(--blue);font-style:italic}.tech-description{font-size:14px;line-height:1.8;color:#555;max-width:550px}.text-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid var(--blue);padding:13px 0;margin-top:18px;color:var(--blue);font:500 10px var(--mono);letter-spacing:.06em}.text-link span{font-size:18px}.machine-art{min-height:470px;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--blue);border-radius:4px;color:var(--cream)}.machine-orbit{position:absolute;border:1px solid #f2e6c955;border-radius:50%;width:370px;height:370px;transform:rotate(-28deg) scaleY(.42)}.orbit-two{width:440px;height:440px;transform:rotate(48deg) scaleY(.42)}.machine-core{width:230px;height:270px;display:grid;place-items:center;position:relative;z-index:2;filter:drop-shadow(15px 18px 0 #0d2e70)}.printer-frame{width:185px;height:220px;border:8px solid var(--cream);border-bottom-width:15px;border-radius:9px 9px 3px 3px;position:relative;background:#174aaf}.printer-top{height:18px;background:var(--pink);position:absolute;top:-8px;left:20px;right:20px;border-radius:3px}.printer-window{position:absolute;inset:28px 12px 22px;border:2px solid #f2e6c977;overflow:hidden;background:linear-gradient(135deg,#ffffff12,transparent)}.print-bed{position:absolute;bottom:13px;left:15px;right:15px;height:6px;background:var(--cream);transform:skewY(-8deg)}.print-object{position:absolute;width:55px;height:60px;left:50%;bottom:20px;transform:translateX(-50%);background:var(--pink);clip-path:polygon(50% 0,100% 28%,85% 100%,15% 100%,0 28%);animation:printPulse 3s ease-in-out infinite}.printer-base{position:absolute;bottom:-8px;left:25px;right:25px;height:10px;background:var(--pink)}.machine-label{position:absolute;font:9px var(--mono);letter-spacing:.1em;line-height:1.5}.label-top{top:35px;left:32px}.label-bottom{bottom:30px;right:30px;text-align:right}.machine-count{position:absolute;right:45px;top:38%;display:flex;align-items:center;gap:7px}.machine-count strong{font:800 38px var(--display);color:var(--pink)}.machine-count span{font:8px var(--mono);line-height:1.3}.machine-pent{position:absolute;width:35px;height:35px;border:1px solid var(--pink);clip-path:polygon(50% 0,100% 38%,81% 100%,19% 100%,0 38%);animation:float 5s ease-in-out infinite}.pent-a{left:15%;bottom:17%}.pent-b{right:17%;top:17%;transform:rotate(28deg)}.services-section{background:var(--pink);color:var(--ink);padding-bottom:65px}.light-kicker{color:var(--cream);border-color:#f2e6c966}.services-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:70px 0 45px}.services-heading h2{font:800 clamp(70px,10vw,140px)/.78 var(--display);letter-spacing:-.1em;margin:0}.services-heading h2 span{color:var(--cream);font-style:italic}.services-heading p{max-width:230px;font-size:14px;line-height:1.5;margin:0 5% 5px 20px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.service-card{min-height:365px;border-radius:4px;padding:20px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .45s var(--ease)}.service-card:hover{transform:translateY(-10px) rotate(-1deg)}.card-cream{background:var(--cream);color:var(--ink)}.card-blue{background:var(--blue);color:var(--cream)}.card-pink{background:#ff6b9e;color:var(--ink)}.service-number{font:10px var(--mono);opacity:.7}.service-visual{height:155px;display:grid;place-items:center;position:relative}.service-card h3{font:700 23px/.98 var(--display);letter-spacing:-.06em;margin:10px 0}.service-card p{font-size:12px;line-height:1.55;max-width:230px;margin:0 0 20px}.service-arrow{position:absolute;right:18px;bottom:17px;font-size:21px}.service-wide{grid-column:span 2}.visual-sculpture .sculpture-shape{width:105px;height:105px;background:var(--blue);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);filter:drop-shadow(12px 12px 0 var(--cream));animation:floatSpin 18s linear infinite}.sculpture-shadow{position:absolute;width:115px;height:15px;background:#17171722;border-radius:50%;bottom:18px;filter:blur(5px)}.visual-stack{display:flex;align-items:center;justify-content:center}.stack-shape{width:76px;height:76px;border:9px solid var(--pink);border-radius:18px;transform:rotate(45deg);margin-left:-22px;box-shadow:7px 7px 0 var(--blue)}.stack-shape:nth-child(2){transform:rotate(45deg) translateY(-17px);border-color:var(--blue)}.stack-shape:nth-child(3){transform:rotate(45deg) translateY(-34px);border-color:var(--pink)}.visual-star div{font-size:125px;color:var(--pink);text-shadow:5px 5px 0 var(--cream);animation:spin 20s linear infinite}.visual-gift .gift-box{width:95px;height:75px;background:var(--pink);position:relative;box-shadow:10px 10px 0 var(--blue)}.gift-box:before{content:"";position:absolute;left:-7px;right:-7px;top:-13px;height:18px;background:var(--blue)}.gift-box i,.gift-box b{position:absolute;top:-22px;left:37px;width:22px;height:25px;border:7px solid var(--pink);border-radius:50% 50% 0 50%;transform:rotate(20deg)}.gift-box b{left:49px;transform:rotate(70deg)}.visual-proto .proto-cube{width:100px;height:100px;background:var(--blue);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);position:relative;filter:drop-shadow(12px 12px 0 var(--cream));animation:float 4s ease-in-out infinite}.proto-orbit{position:absolute;width:180px;height:70px;border:2px solid var(--cream);border-radius:50%;transform:rotate(-25deg)}.services-foot{display:flex;justify-content:space-between;margin-top:22px;font:9px var(--mono);letter-spacing:.12em}.faq-section{background:var(--paper)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:75px}.faq-layout h2{font-size:clamp(48px,7vw,90px);position:sticky;top:120px;align-self:start}.faq-list details{border-bottom:1px solid #17171744;padding:0 0 19px;margin-bottom:19px}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font:600 18px var(--display);letter-spacing:-.03em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:300 25px var(--body);color:var(--pink);transition:transform .3s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:13px;line-height:1.65;color:#666;max-width:520px;margin:18px 0 0;animation:fadeUp .35s both}.quote-section{background:var(--blue);color:var(--cream);position:relative;overflow:hidden}.quote-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center;padding-top:75px;position:relative;z-index:2}.quote-copy h2{font:800 clamp(65px,9vw,120px)/.78 var(--display);letter-spacing:-.1em;margin:30px 0}.quote-copy h2 em{font-style:normal;color:var(--pink)}.quote-copy>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:390px}.coming-soon{display:inline-block;margin-top:25px;border:1px solid var(--pink);color:var(--cream);padding:12px 14px;font:9px var(--mono);letter-spacing:.08em}.chat-window{background:var(--cream);color:var(--ink);border-radius:7px;min-height:470px;box-shadow:15px 18px 0 #0e347d;overflow:hidden;transform:rotate(1deg);transition:transform .4s}.chat-window:hover{transform:rotate(0) translateY(-5px)}.chat-top{height:72px;background:#fff8e9;border-bottom:1px solid #17171715;display:flex;align-items:center;padding:0 20px;gap:12px}.chat-avatar{width:39px;height:39px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font:800 17px var(--display);position:relative}.chat-avatar span{position:absolute;right:-4px;top:-5px;color:var(--blue)}.chat-top strong{font:600 10px var(--mono);display:block}.chat-top small{font:8px var(--mono);color:#777;display:block;margin-top:5px}.chat-top small i{display:inline-block;width:6px;height:6px;background:#e5a13a;border-radius:50%;margin-left:5px}.chat-menu{margin-left:auto;letter-spacing:3px}.chat-body{padding:20px 22px 8px;min-height:280px}.chat-date{text-align:center;color:#9a927e;font:8px var(--mono);letter-spacing:.12em;margin-bottom:20px}.chat-message{max-width:85%;padding:13px 15px;border-radius:3px 12px 12px 12px;font-size:12px;line-height:1.55;margin-bottom:10px}.bot-message{background:#fffaf0}.chat-hint{text-align:center;color:#b29d72;font:8px var(--mono);letter-spacing:.08em;margin-top:18px}.chat-input-row{display:flex;align-items:center;gap:9px;padding:12px 16px;border-top:1px solid #17171718}.attach-button{font-size:24px;color:var(--blue);opacity:.4}.fake-chat-input{height:39px;min-width:0;flex:1;border:0;background:#fffaf0;border-radius:20px;padding:0 14px;font:11px var(--body)}.send-button{height:35px;width:35px;border:0;border-radius:50%;background:var(--pink);font-size:20px}.chat-foot{padding:0 18px 12px;text-align:center;color:#a99e88;font:8px var(--mono);letter-spacing:.08em}.quote-dodeca{position:absolute;width:230px;height:230px;border:1px solid #f2e6c933;right:-60px;top:10%;transform:rotate(20deg);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.dodeca-wire{position:absolute;inset:20px;border:1px solid #f2e6c955;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.contact-section{background:var(--cream);padding-bottom:30px}.contact-main{display:flex;justify-content:space-between;align-items:flex-end;padding:80px 4% 110px}.contact-main h2{font-size:clamp(65px,10vw,135px);margin:0}.contact-details{display:flex;flex-direction:column;gap:15px;min-width:300px}.contact-details p{font-size:14px;margin:0 0 8px}.contact-details a{border-bottom:1px solid #17171755;padding:10px 0;font:500 10px var(--mono);letter-spacing:.03em;display:flex;justify-content:space-between;gap:15px}.contact-details a span{color:var(--pink);font-size:17px}.contact-bottom{border-top:1px solid #17171755;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font:9px var(--mono);letter-spacing:.08em}.contact-bottom a{color:var(--blue)}.whatsapp-float{position:fixed;z-index:30;right:22px;bottom:22px;background:var(--pink);color:var(--ink);height:54px;padding:0 18px;border-radius:30px;display:flex;align-items:center;gap:10px;box-shadow:0 7px 25px #17171730;font:500 9px var(--mono);letter-spacing:.04em;transition:transform .25s}.whatsapp-float:hover{transform:translateY(-5px) rotate(-2deg)}.wa-icon{font-size:22px}.back-top{position:fixed;z-index:29;left:22px;bottom:22px;width:45px;height:45px;border:1px solid var(--blue);background:var(--cream);color:var(--blue);border-radius:50%;font-size:20px;opacity:0;pointer-events:none;transform:translateY(10px);transition:.3s}.back-top.visible{opacity:1;pointer-events:auto;transform:none}.cursor-orb{position:fixed;width:14px;height:14px;border-radius:50%;background:var(--pink);pointer-events:none;z-index:100;mix-blend-mode:difference;opacity:0;transition:opacity .2s;left:-30px;top:-30px}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes floatSpin{0%{transform:rotate(0) translateY(0)}50%{transform:rotate(180deg) translateY(-18px)}100%{transform:rotate(360deg) translateY(0)}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes printPulse{0%,100%{transform:translateX(-50%) scaleY(.88)}50%{transform:translateX(-50%) scaleY(1.08)}}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:900px){.main-nav{gap:14px}.main-nav a{font-size:10px}.section-pad{padding:85px 6vw}.hero-content{padding-left:8vw}.hero-poly{right:8%;width:130px;height:130px}.intro-layout{gap:6%;padding-left:0;padding-right:0}.service-grid{grid-template-columns:repeat(2,1fr)}.service-wide{grid-column:span 2}.tech-layout{gap:5%}.machine-art{min-height:410px}.contact-main{padding-left:0;padding-right:0}}
@media (max-width:640px){.promo-bar{height:30px}.site-header{height:66px;padding:0 5vw}.wordmark{font-size:18px}.header-cta{font-size:9px;padding:12px}.header-cta span{margin-left:4px}.main-nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--cream);padding:22px 6vw 28px;flex-direction:column;gap:20px;border-bottom:1px solid #17171722}.main-nav.open{display:flex}.main-nav a{font-size:12px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px;margin-left:8px}.menu-toggle span{width:22px;height:2px;background:var(--ink)}.site-header{justify-content:space-between}.hero{height:740px;min-height:calc(100svh - 96px)}.hero-content{padding:115px 7vw 60px}.hero h1{font-size:clamp(64px,16vw,100px);margin-top:30px}.hero-bottom{align-items:flex-end}.round-link{width:94px;height:94px;font-size:8px}.hero-poly{top:9%;right:-20px;width:105px;height:105px;opacity:.65}.hero-ring{width:190px;height:190px;right:-70px;bottom:-60px}.hero-index{right:5vw;font-size:8px}.scroll-cue{font-size:8px}.section-pad{padding:70px 6vw}.section-kicker{font-size:8px;letter-spacing:.08em}.intro-layout{grid-template-columns:1fr;gap:50px;padding:65px 0}.intro-stamp{width:145px;height:145px;font-size:11px;margin-left:10px}.intro-copy h2{font-size:clamp(43px,12vw,65px)}.intro-copy p{font-size:13px}.tech-layout{grid-template-columns:1fr;gap:45px;padding-top:55px}.tech-title h2{font-size:65px}.machine-art{min-height:390px}.services-heading{display:block;padding:60px 0 35px}.services-heading h2{font-size:clamp(67px,17vw,100px)}.services-heading p{margin:25px 0 0;max-width:260px}.service-grid{gap:9px}.service-card{min-height:320px;padding:14px}.service-visual{height:130px}.service-card h3{font-size:19px}.service-card p{font-size:11px}.service-wide{min-height:280px}.visual-star div{font-size:100px}.faq-layout{grid-template-columns:1fr;gap:35px;padding-top:55px}.faq-layout h2{font-size:65px;position:static}.faq-list summary{font-size:16px}.quote-layout{grid-template-columns:1fr;gap:45px;padding-top:55px}.quote-copy h2{font-size:90px}.chat-window{min-height:430px}.contact-main{display:block;padding:60px 0 75px}.contact-main h2{font-size:clamp(62px,16vw,100px);margin-bottom:45px}.contact-details{min-width:0}.contact-details a{font-size:9px}.contact-bottom{flex-wrap:wrap;font-size:8px}.contact-bottom span:nth-child(2){display:none}.whatsapp-float{right:13px;bottom:13px;height:48px;padding:0 14px}.back-top{left:13px;bottom:13px}.cursor-orb{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}


/* =========================================================
   DODECAEDRO — ATUALIZAÇÃO VISUAL / NOVEMBRO 2026
   ========================================================= */
:root { --body: 'Poppins', sans-serif; }
body { font-family: var(--body); }

/* Hero: título em três linhas, overlay radial e pentágono */
.hero-wash {
  background: radial-gradient(ellipse at 36% 43%, rgba(7, 18, 48, .96) 0%, rgba(12, 35, 83, .86) 32%, rgba(23, 74, 175, .55) 68%, rgba(23, 74, 175, .18) 100%);
}
.hero-content { padding-top: clamp(60px, 8vw, 112px); }
.hero h1 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .015em;
  margin: 30px 0 18px;
  max-width: 980px;
  font-size: clamp(66px, 10.5vw, 148px);
  line-height: .88;
  letter-spacing: .015em;
  text-transform: uppercase;
}
.hero h1 .hero-word { color: var(--cream); display: block; }
.hero h1 .hero-word:nth-child(2) { color: var(--pink); }
.hero h1 .hero-word:nth-child(3) { color: var(--cream); }
.hero-bottom { justify-content: flex-start; }
.hero-poly {
  clip-path: polygon(50% 0%, 97% 35%, 79% 100%, 21% 100%, 3% 35%);
  background: var(--pink);
  width: 205px; height: 205px;
}
.hero-index { color: var(--cream); }

/* Transições grandes e geométricas entre as seções */
.section-transition {
  position: relative;
  z-index: 3;
  height: clamp(38px, 6vw, 78px);
  margin-top: -1px;
  overflow: hidden;
  isolation: isolate;
}
.section-transition::before,
.section-transition::after {
  content: "";
  position: absolute;
  width: clamp(30px, 5vw, 64px);
  aspect-ratio: 1;
  clip-path: polygon(50% 0%, 97% 35%, 79% 100%, 21% 100%, 3% 35%);
  animation: transitionPentagon 8s ease-in-out infinite alternate;
}
.section-transition::before { left: 14%; top: 2px; background: var(--cream); }
.section-transition::after { right: 17%; top: -16px; background: var(--pink); animation-delay: -3s; }
.transition-blue-pink { background: linear-gradient(115deg, var(--blue) 0 35%, var(--pink) 80%); }
.transition-pink-cream { background: linear-gradient(115deg, var(--pink) 0 38%, var(--cream) 85%); }
.transition-cream-pink { background: linear-gradient(115deg, var(--cream) 0 38%, var(--pink) 85%); }
.transition-cream-blue { background: linear-gradient(115deg, var(--cream) 0 38%, var(--blue) 85%); }
@keyframes transitionPentagon {
  0% { transform: translate3d(0, 22px, 0) rotate(-35deg) scale(.72); }
  100% { transform: translate3d(0, -18px, 0) rotate(145deg) scale(1.18); }
}

/* 01 — Quem somos: rosa, creme e azul */
.intro { background: var(--pink); color: var(--cream); padding-left: 0; padding-right: 0; }
.intro > .section-kicker { margin: 0 9vw; color: var(--cream); border-color: #f2e6c977; }
.intro-layout { padding-left: 5%; padding-right: 5%; }
.intro-stamp { border-color: var(--blue); color: var(--blue); }
.intro-stamp b { color: var(--cream); }
.intro-copy h2 { color: var(--cream); }
.intro-copy h2 em { color: var(--blue); }
.intro-copy p { color: var(--cream); }
.intro-marquee {
  width: 100%; margin: 0; transform: none; border-radius: 0;
  background: var(--cream); color: var(--blue);
  padding: 16px 0; font-size: 18px; overflow: hidden;
}
.intro-marquee div { width: max-content; animation: marqueeSlow 48s linear infinite; }
@keyframes marqueeSlow { to { transform: translateX(-50%); } }

/* 02 — Tecnologia: arte vetorial animada de impressão 3D */
.tech-section { background: var(--cream); color: var(--blue); }
.tech-section > .section-kicker { color: var(--blue); }
.tech-title h2 { color: var(--blue); }
.tech-title h2 span { color: var(--pink); }
.tech-description { color: #35466c; }
.machine-art {
  background: var(--blue); color: var(--cream); min-height: 470px;
  border-radius: 4px; overflow: hidden;
}
.printer-vector { position: relative; z-index: 2; width: min(94%, 500px); height: auto; overflow: visible; filter: drop-shadow(15px 18px 0 rgba(8, 30, 80, .42)); }
.printer-shell { fill: var(--blue); stroke: var(--cream); stroke-width: 10; stroke-linejoin: round; }
.printer-inner { fill: none; stroke: var(--pink); stroke-width: 4; }
.printer-glass { fill: url(#printerGlass); stroke: rgba(242,230,201,.55); stroke-width: 2; }
.printer-rail { fill: none; stroke: var(--cream); stroke-width: 5; stroke-linecap: round; }
.printer-head { transform-origin: 260px 130px; animation: printHead 4.2s ease-in-out infinite; }
.printer-head path:first-child { fill: var(--pink); stroke: var(--cream); stroke-width: 3; }
.printer-head path:nth-child(2) { fill: var(--cream); }
.printer-head .nozzle { stroke: var(--cream); stroke-width: 4; stroke-dasharray: 4 5; animation: nozzlePulse .6s linear infinite; }
.printer-head circle { fill: var(--pink); stroke: var(--cream); stroke-width: 2; }
.printer-bed { fill: var(--cream); stroke: var(--pink); stroke-width: 3; }
.printed-piece { transform-origin: 260px 320px; animation: pieceBuild 5s ease-in-out infinite; }
.piece-side { fill: var(--pink); stroke: var(--cream); stroke-width: 2; }
.piece-top { fill: var(--cream); stroke: var(--blue); stroke-width: 2; }
.piece-front { fill: var(--pink); stroke: var(--cream); stroke-width: 2; }
.piece-lines { fill: none; stroke: var(--blue); stroke-width: 2; opacity: .72; }
.printer-base { fill: var(--pink); stroke: var(--cream); stroke-width: 4; }
.printer-shadow { fill: rgba(7, 20, 52, .28); animation: shadowPulse 3.5s ease-in-out infinite; }
.printer-led { fill: var(--cream); animation: ledPulse 1.4s ease-in-out infinite; }
.printer-filament { fill: none; stroke: var(--pink); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 7 6; animation: filamentFlow 1.2s linear infinite; }
.printer-side-detail { fill: none; stroke: var(--cream); stroke-width: 3; opacity: .45; }
@keyframes printHead { 0%,100% { transform: translateX(-22px); } 50% { transform: translateX(22px); } }
@keyframes nozzlePulse { to { stroke-dashoffset: -18; } }
@keyframes pieceBuild { 0%,100% { transform: translateY(8px) scaleY(.92); } 50% { transform: translateY(-2px) scaleY(1.04); } }
@keyframes shadowPulse { 0%,100% { opacity: .45; transform: scaleX(.9); } 50% { opacity: .8; transform: scaleX(1.04); } }
@keyframes ledPulse { 0%,100% { opacity: .45; } 50% { opacity: 1; } }
@keyframes filamentFlow { to { stroke-dashoffset: -26; } }

/* 03 — Serviços: blocos alternados azul/creme e geometria pentagonal */
.services-section { background: var(--pink); color: var(--cream); }
.services-heading h2 { color: var(--cream); }
.services-heading h2 span { color: var(--blue); }
.services-heading p { color: var(--cream); }
.card-blue { background: var(--blue); color: var(--cream); }
.card-cream { background: var(--cream); color: var(--blue); }
.card-pink { background: var(--blue); color: var(--cream); }
.service-card { border-radius: 3px; }
.service-card:nth-child(odd) .service-number { color: var(--pink); }
.service-card:nth-child(even) .service-number { color: var(--blue); }
.visual-sculpture .sculpture-shape {
  clip-path: polygon(50% 0%, 97% 35%, 79% 100%, 21% 100%, 3% 35%);
  animation: sculptureDance 5.5s ease-in-out infinite;
}
@keyframes sculptureDance { 0%,100% { transform: rotate(0) translateY(0) scale(1); } 50% { transform: rotate(180deg) translateY(-13px) scale(1.08); } }
.stack-shape { animation: stackFloat 2.8s ease-in-out infinite; }
.stack-shape:nth-child(2) { animation-delay: -.45s; }
.stack-shape:nth-child(3) { animation-delay: -.9s; }
@keyframes stackFloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -13px; } }
.visual-star div { animation: starBurst 7s ease-in-out infinite; }
@keyframes starBurst { 0%,100% { transform: rotate(0) scale(.86); } 50% { transform: rotate(180deg) scale(1.14); } }
.gift-box { animation: giftHop 2.4s ease-in-out infinite; }
@keyframes giftHop { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-12px) rotate(5deg); } }
.visual-proto .proto-cube {
  clip-path: polygon(50% 0%, 97% 35%, 79% 100%, 21% 100%, 3% 35%);
  animation: protoOrbit 6s ease-in-out infinite;
}
@keyframes protoOrbit { 0%,100% { transform: rotate(0) translateY(0); } 50% { transform: rotate(72deg) translateY(-15px); } }
.proto-orbit { animation: orbitTilt 7s linear infinite; }
@keyframes orbitTilt { to { transform: rotate(335deg); } }
.services-foot { color: var(--cream); }

/* Geometria: substituir polígonos de seis lados por pentágonos */
.proto-cube, .sculpture-shape, .hero-poly, .quote-dodeca, .dodeca-wire {
  clip-path: polygon(50% 0%, 97% 35%, 79% 100%, 21% 100%, 3% 35%);
}
.quote-dodeca { border: 1px solid #f2e6c955; }
.dodeca-wire { clip-path: polygon(50% 0%, 97% 35%, 79% 100%, 21% 100%, 3% 35%); }

/* FAQ: acordeão exclusivo */
.faq-section { background: var(--cream); color: var(--blue); }
.faq-section > .section-kicker { color: var(--blue); }
.faq-layout h2 { color: var(--blue); }
.faq-layout h2 em { color: var(--pink); }
.faq-list details { border-color: #174aaf55; }
.faq-list summary { color: var(--blue); }
.faq-list details p { color: #45577f; }

/* Orçamento: mantém azul, título creme e destaque rosa */
.quote-section { background: var(--blue); color: var(--cream); }
.quote-copy h2 { color: var(--cream); }
.quote-copy h2 em { color: var(--pink); }

/* Contato: rosa, creme e azul + formulário */
.contact-section { background: var(--pink); color: var(--cream); padding-bottom: 30px; }
.contact-section > .section-kicker { color: var(--cream); border-color: #f2e6c977; }
.contact-main { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(35px, 7vw, 100px); align-items: start; padding: 80px 4% 95px; }
.contact-heading h2 { color: var(--cream); font-size: clamp(65px, 9vw, 125px); }
.contact-main h2 em { color: var(--blue); }
.contact-details { min-width: 0; margin-top: 36px; }
.contact-details p { color: var(--cream); }
.contact-details a { color: var(--cream); border-color: #f2e6c977; }
.contact-details a span { color: var(--blue); }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; background: var(--cream); color: var(--blue); padding: clamp(22px, 3vw, 38px); border-radius: 4px; box-shadow: 13px 14px 0 rgba(23,74,175,.22); }
.contact-form label { display: flex; flex-direction: column; gap: 8px; font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.contact-form input, .contact-form textarea { width: 100%; border: 0; border-bottom: 1px solid #174aaf66; border-radius: 0; background: transparent; color: var(--blue); padding: 12px 2px; outline: none; font: 400 13px var(--body); letter-spacing: 0; text-transform: none; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--pink); box-shadow: 0 1px 0 var(--pink); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #174aaf88; }
.message-field { grid-column: 1 / -1; }
.contact-submit { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; border: 0; background: var(--blue); color: var(--cream); cursor: pointer; font: 500 10px var(--mono); letter-spacing: .08em; transition: transform .25s, background .25s; }
.contact-submit:hover { background: #103b91; transform: translateY(-3px); }
.contact-submit svg { width: 22px; height: 22px; fill: var(--cream); }
.contact-submit span { font-size: 18px; }
.form-note { grid-column: 1 / -1; margin: -6px 0 0; color: #174aafaa; font-size: 10px; line-height: 1.5; }
.contact-bottom { border-color: #f2e6c977; color: var(--cream); }
.contact-bottom a { color: var(--blue); }

/* WhatsApp flutuante em azul, com símbolo reconhecível */
.whatsapp-float { background: var(--blue); color: var(--cream); box-shadow: 0 7px 25px #17171740; }
.whatsapp-float:hover { background: #103b91; transform: translateY(-5px) scale(1.04); }
.wa-icon { width: 25px; height: 25px; fill: currentColor; flex: 0 0 auto; }

/* Cursor limitado à paleta e com contraste dinâmico */
.cursor-orb { background: var(--cream); mix-blend-mode: normal; border: 1px solid rgba(23,74,175,.25); width: 15px; height: 15px; transition: background-color .16s ease, opacity .2s; }
.cursor-orb.cursor-pink { background: var(--pink); }
.cursor-orb.cursor-blue { background: var(--blue); }
.cursor-orb.cursor-cream { background: var(--cream); }

@media (max-width: 900px) {
  .contact-main { grid-template-columns: 1fr; }
  .contact-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: end; }
  .contact-details { margin-top: 0; }
}
@media (max-width: 640px) {
  .hero-content { padding: 105px 7vw 60px; }
  .hero h1 { font-size: clamp(56px, 15vw, 94px); line-height: .92; margin-top: 26px; }
  .hero-poly { width: 105px; height: 105px; }
  .intro > .section-kicker { margin: 0 6vw; }
  .intro-layout { padding-left: 6vw; padding-right: 6vw; }
  .intro-marquee { padding: 13px 0; font-size: 15px; }
  .machine-art { min-height: 360px; }
  .printer-vector { width: 100%; }
  .contact-main { display: grid; padding: 60px 0 70px; }
  .contact-heading { display: block; }
  .contact-main h2 { font-size: clamp(60px, 15vw, 92px); margin-bottom: 28px; }
  .contact-details { margin-top: 0; margin-bottom: 32px; }
  .contact-form { grid-template-columns: 1fr; padding: 22px 18px; gap: 16px; }
  .message-field, .contact-submit, .form-note { grid-column: 1; }
  .whatsapp-float { right: 13px; bottom: 13px; height: 48px; padding: 0 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .section-transition::before, .section-transition::after,
  .printer-head, .printed-piece, .printer-shadow, .printer-led,
  .printer-filament, .sculpture-shape, .stack-shape, .visual-star div,
  .gift-box, .proto-cube, .proto-orbit, .intro-marquee div { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
