/* Home v3: ambiente claro contínuo, transparência e produto livre de sobreposições. */
.home-page { --ink: #153b4a; --muted: #536d79; }
.home-page h1, .home-page h2 { font-weight: 500; letter-spacing: -.055em; }
.home-page .wrap { width: min(1280px, calc(100% - 112px)); }
.home-page .header { background: #f7fcfcba; border: 0; backdrop-filter: blur(20px); color: var(--ink); }
.home-page .nav-shell { min-height: 86px; }
.home-page .brand img { filter: none; width: 136px; }
.home-page .header nav { gap: 25px; }
.home-page .header nav>a:not(.btn) { font-weight: 400; font-size: 12px; }
.home-page .header nav>a[aria-current], .home-page .header nav>a:hover { color: #007d9d; }
.home-page .btn { border-radius: 40px; padding: 16px 25px; font-weight: 550; gap: 20px; }
.home-page .header .btn { min-height: 42px; padding: 11px 18px; font-size: 11px; background: transparent; border-color: #88b9c659; color: #007d9d; }
.home-page .header .btn:hover { border-color: #007d9d66; background: #ffffffa3; }
.landing-intro { background: transparent; color: var(--ink); overflow: hidden; }
.landing-hero { isolation: isolate; position: relative; padding: 48px 0 0; }
.landing-glow { position: absolute; z-index: -1; width: 950px; height: 950px; border-radius: 50%; top: -220px; right: -260px; background: radial-gradient(ellipse at 50% 50%,#7ec6d51c, #91d9cc10 40%,transparent 68%); pointer-events: none; }
.landing-paths { position: absolute; z-index: -1; width: 100%; height: 100%; inset: 0; overflow: visible; pointer-events: none; }
.landing-paths path { stroke: #5194a42b; stroke-width: 1; }
.landing-paths path:nth-child(2) { stroke: #5194a414; }
.landing-paths path:nth-child(3) { stroke: #5194a414; }
.landing-grid { display: grid; grid-template-columns: 1.12fr 1fr; gap: 30px; align-items: center; min-height: 550px; }
.landing-copy { position: relative; z-index: 2; padding-bottom: 35px; }
.landing-copy .eyebrow { display: flex; align-items: center; gap: 10px; color: #507682; letter-spacing: .2em; font-size: 10px; margin-bottom: 33px; }
.landing-copy .status-dot { background: #008ca0; box-shadow: 0 0 15px #7ac9d654; }
.landing-copy h1 { font-size: clamp(58px, 6.5vw, 92px); line-height: .99; margin-bottom: 31px; }
.landing-copy h1 em { color: #007d9d; background: linear-gradient(110deg,#007d9d,#219e8c); background-clip: text; -webkit-text-fill-color: transparent; }
.landing-copy>p { font-size: 15px; line-height: 1.8; color: #536d79; max-width: 445px; margin-bottom: 30px; }
.landing-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.landing-actions .btn-primary { background: #007d9d; color: white; box-shadow: 0 8px 22px #007d9d15; }
.landing-actions .btn-primary:hover { background: #006b86; }
.landing-actions .btn-secondary { padding-inline: 0; background: transparent; border: 0; border-radius: 0; font-size: 12px; color: #376675; gap: 12px; }
.landing-actions .btn-secondary:hover { color: #007d9d; }
.landing-product { position: relative; min-height: 540px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-bottom: 0; }
.landing-product:before { content: ''; position: absolute; z-index: -1; width: 520px; height: 310px; border-radius: 50%; background: #7ccfc91f; filter: blur(45px); transform: rotate(-28deg); }
.landing-product>img { width: 440px; max-width: 95%; height: auto; filter: drop-shadow(12px 24px 23px #466e8124); transform: rotate(-4deg); animation: product-float 9s ease-in-out infinite; }
.product-overline { display: none; }
.product-note { display: flex; gap: 12px; align-items: center; margin: 22px 0 0; font-size: 11px; line-height: 1.8; color: #627e87; }
.product-note svg { width: 23px; height: 23px; color: #007d9d; }
.product-note strong { font-size: 12px; font-weight: 400; color: #365f6e; }
.landing-baseline { padding: 30px 0; border-bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.landing-baseline>div { display: flex; gap: 35px; font-size: 9px; letter-spacing: .17em; color: #62818c; }
.landing-baseline>a { display: flex; align-items: center; gap: 23px; font-size: 11px; color: #426f7e; }
.landing-baseline>a span { font-size: 21px; color: #007d9d; }
.home-page .clients { background: transparent; color: var(--ink); padding: 34px 0 8px; }
.home-page .clients:after { background: transparent; }
.home-page .clients .eyebrow { font-size: 9px; color: #477b88; margin-bottom: 13px; }
.home-page .clients h2 { font-size: 42px; font-weight: 450; margin-bottom: 12px; }
.home-page .clients p { font-size: 12px; max-width: 410px; color: #607d86; }
.home-page .motion-toggle { border: 0; border-bottom: 1px solid #8eb7c344; border-radius: 0; background: transparent; font-size: 10px; padding: 12px 0; gap: 20px; color: #4f7c89; }
.home-page .motion-toggle:hover { color: #007d9d; background: transparent; }
.home-page .logo-scene { margin-top: 16px; padding: 34px 0 38px; perspective: 1300px; mask-image: linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); }
.home-page .logo-wall { transform: rotateX(19deg) rotateY(-9deg) rotateZ(-5deg); gap: 16px; width: 114%; margin-left: -7%; }
.home-page .logo-card { width: 175px; height: 108px; border-radius: 10px; border: 1px solid #ffffffd9; background: #ffffffa1; backdrop-filter: blur(8px); box-shadow: 0 4px 0 #bed8df73,0 14px 24px #567f921c; }
.home-page .logo-card img { width: 116px; height: 106px; }
.home-page .logo-track { animation-duration: 64s; }
.home-page .track-1 { animation-duration: 76s; }
.home-page .track-2 { animation-duration: 89s; }
.flow-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 120px; padding-block: 72px 64px; }
.flow-story h2 { font-size: clamp(40px, 4.4vw, 62px); line-height: 1.04; margin-bottom: 32px; }
.flow-story p { max-width: 435px; font-size: 15px; }
.flow-story .text-link { margin-top: 18px; }
.flow-list { padding-top: 2px; }
.flow-benefit { display: flex; align-items: flex-start; gap: 25px; padding: 23px 0; border-bottom: 1px solid #dbe4e3; }
.flow-benefit:first-child { padding-top: 0; }
.flow-benefit:last-child { border: 0; padding-bottom: 0; }
.flow-icon { color: #007d8e; margin-top: 2px; }
.flow-icon svg { width: 25px; height: 25px; }
.flow-benefit h3 { font-size: 20px; font-weight: 500; margin-bottom: 9px; }
.flow-benefit p { font-size: 13px; line-height: 1.7; margin: 0; max-width: 370px; }
.flow-solutions { background: transparent; padding-block: 62px 50px; }
.flow-solution-heading { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 120px; margin-bottom: 60px; }
.flow-solution-heading h2 { font-size: clamp(44px, 4.4vw, 62px); line-height: 1.05; }
.flow-solution-heading>p { font-size: 15px; max-width: 460px; margin: 0 0 4px; }
.home-page .tabs { gap: 40px; border: 0; border-bottom: 1px solid #cddbd5; border-radius: 0; display: flex; overflow: visible; }
.home-page .tabs button { padding: 20px 0; font-size: 13px; font-weight: 500; flex: 1; text-align: left; border-bottom: 2px solid transparent; }
.home-page .tabs button[aria-selected=true] { color: #007788; border-color: #007788; background: transparent; }
.home-page .tabs button:hover { background: transparent; color: #007788; }
.home-page .solution-display { gap: 100px; padding-block: 55px 36px; grid-template-columns: 1.1fr 1fr; }
.home-page .solution-art { background: radial-gradient(ellipse,#bbe2db40,transparent 69%); }
.home-page .solution-art img { width: 520px; filter: drop-shadow(0 20px 12px #213e3d12); }
.home-page .solution-art span { font-size: 9px; }
.home-page .tab-panels h3 { font-size: 34px; font-weight: 500; }
.home-page .tab-panels p { font-size: 14px; }
.home-page .tab-panels .btn { padding: 12px 0; min-height: 35px; border-radius: 0; color: #007788; background: transparent; border: 0; }
.home-page .tab-panels .btn:hover { color: #003d49; }
.flow-quote { padding-block: 76px 60px; }
.flow-quote>.eyebrow { margin-bottom: 38px; }
.flow-quote blockquote { font-size: clamp(38px, 4.3vw, 60px); line-height: 1.13; font-weight: 400; letter-spacing: -.045em; margin: 0 0 40px; max-width: 1060px; }
.flow-quote blockquote>span { color: #5bada3; }
.quote-detail { display: grid; grid-template-columns: 1.1fr 1fr; gap: 100px; }
.quote-detail>p { font-size: 14px; max-width: 670px; margin: 0; }
.quote-detail .quote-author { margin-top: 0; padding-top: 4px; align-items: flex-start; }
.quote-detail .quote-author strong { font-size: 15px; font-weight: 500; }
.home-page .faq-section { border-top: 0; padding-block: 56px 70px; gap: 100px; }
.home-page .faq-section h2 { font-size: 43px; line-height: 1.1; }
.home-page .faq-section>div>p { font-size: 14px; max-width: 330px; }
.home-page .faq-section .btn-secondary { border: 0; padding-inline: 0; color: #007788; background: transparent; font-size: 12px; }
.home-page .faq summary { font-weight: 450; }
.flow-contact { padding: 58px 0 52px; background: transparent; }
.flow-contact-row { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.flow-contact-row h2 { font-size: clamp(46px, 5.3vw, 76px); line-height: 1.03; }
.flow-contact-row em { color: #007778; }
.contact-arrow { display: flex; align-items: center; justify-content: center; width: 110px; height: 110px; border: 1px solid #a2c5cf80; background: #ffffff4d; backdrop-filter: blur(12px); border-radius: 50%; transition: background .2s,transform .2s; }
.contact-arrow svg { width: 46px; height: 46px; stroke-width: 1; }
.contact-arrow:hover { background: #ffffff94; transform: rotate(7deg); }
.flow-contact-bottom { display: flex; justify-content: space-between; gap: 50px; margin-top: 45px; align-items: center; }
.flow-contact-bottom p { max-width: 450px; font-size: 14px; margin: 0; color: #526e66; }
.flow-contact-bottom>div { display: flex; gap: 24px; align-items: center; }
.flow-contact-bottom .btn-secondary { border: 0; padding-inline: 0; background: transparent; font-size: 12px; }
.home-page .footer { background: transparent; }
@keyframes product-float { 0%,100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-8px) rotate(-3deg); } }
@media (min-width: 1550px) { .landing-hero { padding-top: 65px; } .landing-grid { min-height: 590px; } .landing-product>img { width: 480px; } }
@media (max-width: 1200px) {
  .home-page .wrap { width: calc(100% - 72px); }
  .home-page .header nav { gap: 17px; }
  .home-page .header nav>a:not(.btn) { font-size: 11px; }
  .landing-grid { min-height: 505px; gap: 25px; }
  .landing-copy h1 { font-size: 70px; }
  .landing-product { min-height: 500px; }
  .landing-product>img { width: 400px; }
  .landing-actions { gap: 12px 20px; }
  .landing-actions .btn { font-size: 12px; }
  .flow-benefits, .flow-solution-heading, .home-page .solution-display, .quote-detail { gap: 70px; }
  .flow-contact-bottom>div { gap: 15px; }
}
@media (max-width: 1000px) {
  .home-page .nav-shell { min-height: 76px; }
  .home-page .header nav { background: #f4fbfbf5; color: var(--ink); top: 75px; gap: 0; }
  .home-page .header nav>a:not(.btn) { font-size: 15px; }
  .home-page .header nav .btn { font-size: 14px; padding: 15px 20px; }
  .home-page .menu-toggle { border-color: #a7c6d16b; border-radius: 50%; }
  .home-page .menu-toggle span { background: #2f6272; }
  .landing-hero { padding-top: 50px; }
  .landing-copy h1 { font-size: 62px; }
  .landing-grid { grid-template-columns: 1.12fr 1fr; gap: 12px; min-height: 480px; }
  .landing-product { min-height: 420px; }
  .landing-product>img { width: 350px; }
  .product-overline { right: 0; top: -22px; font-size: 8px; }
  .product-note { margin: 18px 0 0; font-size: 10px; }
  .product-note strong { font-size: 10px; }
  .landing-copy>p { font-size: 14px; }
  .landing-actions { flex-direction: column; align-items: flex-start; gap: 2px; }
  .flow-benefits { gap: 50px; padding-block: 64px; }
  .flow-story h2 { font-size: 43px; }
  .flow-solution-heading { gap: 50px; }
  .home-page .tabs { gap: 20px; }
  .home-page .tabs button { font-size: 12px; }
  .home-page .solution-display { gap: 45px; }
  .quote-detail { gap: 50px; }
  .home-page .faq-section { gap: 50px; }
  .flow-contact-bottom { align-items: flex-start; gap: 30px; }
  .flow-contact-bottom>div { flex-direction: column; align-items: flex-start; gap: 0; }
}
@media (max-width: 760px) {
  .home-page .wrap { width: calc(100% - 44px); }
  .home-page .nav-shell { min-height: 72px; }
  .home-page .brand img { width: 114px; }
  .home-page .header nav { top: 71px; padding-inline: 22px; }
  .landing-hero { padding-top: 41px; }
  .landing-grid { grid-template-columns: 1fr; gap: 20px; }
  .landing-copy { padding: 0; }
  .landing-copy .eyebrow { font-size: 9px; margin-bottom: 27px; }
  .landing-copy h1 { font-size: clamp(46px, 11.9vw, 77px); line-height: 1.03; margin-bottom: 25px; }
  .landing-copy>p { max-width: 455px; margin-bottom: 23px; font-size: 14px; }
  .landing-actions { flex-direction: row; gap: 10px 20px; align-items: center; }
  .landing-actions .btn { font-size: 11px; padding: 14px 20px; gap: 12px; }
  .landing-actions .btn-secondary { padding: 10px 0; }
  .landing-product { min-height: 0; padding-top: 12px; padding-bottom: 0; max-width: 510px; width: 100%; margin: 0 auto; }
  .landing-product>img { width: 84%; max-width: 420px; margin: 0 0 0 -18px; }
  .landing-product:before { width: 100%; height: 100%; }
  .product-overline { display: none; }
  .product-note { margin: 15px 0 0; font-size: 10px; }
  .product-note strong { font-size: 10px; }
  .landing-glow { width: 750px; height: 900px; right: -360px; top: 260px; }
  .landing-paths { width: 140%; height: 100%; left: -30%; opacity: .65; }
  .landing-baseline { padding: 25px 0; margin-top: 26px; flex-wrap: wrap; gap: 21px; }
  .landing-baseline>div { gap: 24px; font-size: 8px; }
  .landing-baseline>a { width: 100%; font-size: 10px; justify-content: space-between; }
  .home-page .clients { padding: 24px 0 0; }
  .home-page .clients-heading { flex-direction: row; align-items: flex-end; gap: 25px; }
  .home-page .clients .eyebrow { font-size: 8px; letter-spacing: .12em; }
  .home-page .clients h2 { font-size: 31px; }
  .home-page .clients p { font-size: 11px; max-width: 245px; }
  .home-page .motion-toggle { font-size: 9px; gap: 10px; margin-bottom: 3px; }
  .home-page .logo-scene { margin-top: 13px; padding: 28px 0 30px; perspective: 900px; }
  .home-page .logo-wall { gap: 13px; width: 125%; margin-left: -12.5%; transform: rotateX(15deg) rotateY(-7deg) rotateZ(-6deg); }
  .home-page .logo-card { width: 139px; height: 89px; border-radius: 7px; }
  .home-page .logo-card img { width: 94px; height: 87px; }
  .home-page .logo-track { animation-duration: 55s; }
  .home-page .track-1 { animation-duration: 68s; }
  .home-page .track-2 { animation-duration: 80s; }
  .flow-benefits { grid-template-columns: 1fr; padding-block: 52px; gap: 35px; }
  .flow-story h2 { font-size: clamp(40px, 9vw, 59px); margin-bottom: 25px; }
  .flow-story p { font-size: 14px; max-width: 100%; }
  .flow-story .text-link { margin-top: 9px; }
  .flow-benefit { gap: 21px; padding-block: 21px; }
  .flow-benefit h3 { font-size: 19px; }
  .flow-benefit p { max-width: 100%; font-size: 13px; }
  .flow-solutions { padding-block: 40px 35px; }
  .flow-solution-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 30px; }
  .flow-solution-heading h2 { font-size: 46px; }
  .flow-solution-heading>p { font-size: 14px; }
  .home-page .tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; border: 0; }
  .home-page .tabs button { padding: 16px 0; border-bottom: 1px solid #c9d9d2; margin: 0; font-size: 12px; }
  .home-page .tabs button[aria-selected=true] { border-bottom: 2px solid #007788; }
  .home-page .solution-display { grid-template-columns: 1fr; gap: 40px; padding: 30px 0 36px; }
  .home-page .solution-art img { width: 100%; max-width: 430px; }
  .home-page .tab-panels h3 { font-size: 31px; }
  .flow-quote { padding-block: 52px 42px; }
  .flow-quote>.eyebrow { margin-bottom: 28px; }
  .flow-quote blockquote { font-size: 37px; line-height: 1.16; margin-bottom: 27px; }
  .quote-detail { grid-template-columns: 1fr; gap: 24px; }
  .quote-detail>p { font-size: 13px; }
  .home-page .faq-section { padding-block: 42px 48px; gap: 24px; }
  .home-page .faq-section h2 { font-size: 36px; }
  .home-page .faq summary { font-size: 14px; }
  .flow-contact { padding-block: 40px 36px; }
  .flow-contact-row { gap: 18px; }
  .flow-contact-row h2 { font-size: clamp(36px, 8.5vw, 52px); }
  .contact-arrow { width: 64px; height: 64px; flex-shrink: 0; }
  .contact-arrow svg { width: 29px; height: 29px; }
  .flow-contact-bottom { flex-direction: column; gap: 23px; margin-top: 30px; }
  .flow-contact-bottom p { font-size: 13px; max-width: 330px; }
  .flow-contact-bottom>div { gap: 2px; }
  .flow-contact-bottom .btn { padding: 14px 22px; }
  .flow-contact-bottom .btn-secondary { padding-inline: 0; }
}
@media (max-width: 350px) {
  .home-page .wrap { width: calc(100% - 36px); }
  .landing-copy h1 { font-size: 43px; }
  .landing-actions { gap: 0; flex-direction: column; align-items: flex-start; }
  .home-page .clients-heading { gap: 12px; }
  .home-page .motion-toggle { gap: 5px; font-size: 8px; }
  .home-page .clients h2 { font-size: 28px; }
  .flow-contact-row h2 { font-size: 34px; }
  .contact-arrow { width: 54px; height: 54px; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-product>img { animation: none; }
  .home-page .logo-track { animation: none; width: 100%; }
  .home-page .logo-wall { transform: none; width: 100%; margin: 0; }
  .home-page .logo-scene { mask-image: none; padding: 20px; }
  .home-page .motion-toggle { display: none; }
  .contact-arrow { transition: none; }
}
