*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; font-size: 16px; } body { font-family: 'Inter', sans-serif; color: var(--text-dark); background: var(--bg-light); line-height: 1.7; overflow-x: hidden; } img { max-width: 100%; height: auto; display: block; } a { text-decoration: none; color: inherit; transition: color 0.3s ease; } ul { list-style: none; }   :root { --primary: #C8675B;   --primary-dark: #A85045;   --primary-light: #F5E6E3;   --secondary: #C9A96E;   --secondary-light: #F5EDE0;   --accent: #1A1A1A;   --bg-light: #F8F6F3;   --bg-warm: #F3EDE6;   --text-dark: #1A1A1A;   --text-medium: #6B7280;   --text-light: #9CA3AF;   --white: #FFFFFF;   --footer-bg: #1A1A1A;   --footer-text: #CBD5E1;   }   .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; } .section-title { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 700; color: var(--text-dark); line-height: 1.3; margin-bottom: 16px; } .section-label { text-transform: uppercase; font-size: 0.75rem; color: var(--primary); letter-spacing: 3px; margin-bottom: 12px; font-weight: 600; } .text-highlight { color: var(--primary); } .fade-in { opacity: 0; transform: translateY(30px); transition: all 0.7s ease; } .fade-in.visible { opacity: 1; transform: translateY(0); } .fade-in.delay-1 { transition-delay: 0.2s; } .fade-in.delay-2 { transition-delay: 0.4s; } .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }   .top-bar { position: fixed; top: 0; left: 0; width: 100%; height: 40px; background-color: var(--footer-bg); z-index: 1001; display: flex; align-items: center; } .top-bar-container { max-width: 1200px; width: 100%; margin: 0 auto; padding: 0 24px; display: flex; justify-content: space-between; align-items: center; } .top-bar-info, .top-bar-social { display: flex; align-items: center; gap: 20px; } .top-bar-item { display: flex; align-items: center; gap: 8px; color: var(--white); font-size: 14px; text-decoration: none; transition: color 0.3s ease; font-family: 'Inter', sans-serif; } .top-bar-item:hover { color: var(--secondary);   } .top-bar-icon { width: 16px; height: 16px; color: var(--white); flex-shrink: 0; } .top-bar-social-link { display: flex; align-items: center; justify-content: center; color: var(--white); transition: color 0.3s ease; } .top-bar-social-link:hover { color: var(--secondary);   } .top-bar-social-icon { width: 18px; height: 18px; }   .header { position: fixed; top: 40px; left: 0; width: 100%; height: 72px; z-index: 1000; background: var(--white); box-shadow: none; transition: transform 0.3s ease; } .header-container { height: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; max-width: 1200px; margin: 0 auto; } .logo { display: flex; align-items: center; gap: 10px; text-decoration: none; } .logo-img { width: 50px; height: auto; flex-shrink: 0; margin-top: -2px; } .logo-text { display: flex; flex-direction: column; line-height: 1.2; } .logo-name { font-family: 'Playfair Display', serif; font-size: 1.25rem; font-weight: 700; color: var(--primary); line-height: 1.2; } .logo-subtitle { font-family: 'Inter', sans-serif; font-size: 0.7rem; color: var(--text-light); letter-spacing: 1px; text-transform: uppercase; font-weight: 400; } .nav-list { display: flex; gap: 32px; } .nav-link { font-family: 'Inter', sans-serif; font-size: 0.9rem; color: var(--text-medium); font-weight: 500; transition: color 0.3s ease; padding-bottom: 4px; position: relative; } .nav-link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 3px; background: var(--secondary); transition: width 0.3s ease; border-radius: 3px; } .nav-link.active { color: var(--secondary); font-weight: 700; } .nav-link.active::after { width: 100%; } .nav-link:hover::after { width: 100%; } .nav-link:hover { color: var(--primary); } .nav-link.active { color: var(--primary); }   .menu-toggle { display: none; background: transparent; border: none; cursor: pointer; padding: 8px; z-index: 1001; } .menu-toggle .hamburger, .menu-toggle .hamburger::before, .menu-toggle .hamburger::after { display: block; width: 24px; height: 2px; background: var(--text-dark); transition: all 0.3s ease; position: relative; } .menu-toggle .hamburger::before, .menu-toggle .hamburger::after { content: ''; position: absolute; left: 0; } .menu-toggle .hamburger::before { top: -7px; } .menu-toggle .hamburger::after { top: 7px; } .menu-toggle.active .hamburger { background: transparent; } .menu-toggle.active .hamburger::before { top: 0; transform: rotate(45deg); } .menu-toggle.active .hamburger::after { top: 0; transform: rotate(-45deg); }   .btn { display: inline-flex; align-items: center; padding: 12px 28px; border-radius: 8px; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: all 0.3s ease; border: none; gap: 8px; font-family: 'Inter', sans-serif; line-height: 1.2; } .btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .btn-primary { background: var(--primary); color: var(--white); } .btn-primary:hover { background: var(--primary-dark); box-shadow: 0 4px 16px rgba(26, 74, 92, 0.3); } .btn-highlight { background: var(--primary); color: var(--white); } .btn-highlight:hover { background: var(--primary-dark); box-shadow: 0 4px 16px rgba(201, 169, 110, 0.4); } .btn-outline { border: 2px solid var(--primary); color: var(--primary); background: transparent; } .btn-outline:hover { background: var(--primary); color: var(--white); } .btn-large { padding: 16px 36px; font-size: 1rem; } .btn-header { font-family: 'Inter', sans-serif; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; } main { padding-top: 112px; }   .hero { position: relative; width: 100%; margin: 0; min-height: calc(100svh - 112px); display: flex; align-items: center; padding: 0; background-image: url('/assets/optimized-a433a21eff48/images/hero-home.webp'); background-size: cover; background-position: 60% center; background-repeat: no-repeat; overflow: hidden; } .hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient( 90deg, rgba(248, 246, 243, 0.30) 0%, rgba(248, 246, 243, 0.16) 35%, rgba(248, 246, 243, 0) 62% ); pointer-events: none; z-index: 0; } .hero-container { position: relative; z-index: 1; width: 100%; display: flex; align-items: center; } .hero-content { width: 100%; max-width: 620px; } .hero-title { font-family: 'Playfair Display', serif; font-size: clamp(2.4rem, 4vw, 4.2rem); font-weight: 700; line-height: 1.08; color: var(--text-dark); margin-bottom: 24px; } .hero-subtitle { max-width: 600px; font-size: clamp(1rem, 1.2vw, 1.15rem); line-height: 1.7; color: #4A4A4A; margin-bottom: 22px; } .hero-quote { max-width: 570px; font-family: 'Playfair Display', serif; font-style: italic; font-size: 1rem; line-height: 1.65; color: #555; border-left: 3px solid var(--secondary); padding-left: 20px; margin-bottom: 32px; }     .hero-scroll { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 5; display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--primary); text-decoration: none; transition: transform 0.3s ease, opacity 0.3s ease; } .hero-scroll-text { font-family: 'Inter', sans-serif; font-size: 0.63rem; font-weight: 600; text-transform: uppercase; letter-spacing: 2.4px; color: var(--primary-dark); margin-bottom: 2px; }   .hero-scroll-indicator { position: relative; width: 1px; height: 34px; background: rgba(201, 169, 110, 0.55); overflow: hidden; flex-shrink: 0; }   .hero-scroll-dot { position: absolute; top: 2px; left: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--primary); transform: translateX(-50%); animation: heroScrollMove 0.8s ease-in-out infinite; }   .hero-scroll-arrow { width: 20px; height: 20px; color: var(--primary); opacity: 1; stroke-width: 2.2; animation: heroScrollArrow 1.1s ease-in-out infinite; }   @keyframes heroScrollMove { 0% { top: 2px; opacity: 0; } 12% { opacity: 1; } 75% { opacity: 1; } 100% { top: 27px; opacity: 0; } }   @keyframes heroScrollArrow { 0%, 100% { transform: translateY(0); opacity: 0.75; } 50% { transform: translateY(4px); opacity: 1; } }   .hero-scroll:hover { transform: translateX(-50%) translateY(3px); } .hero-scroll:hover .hero-scroll-text { color: var(--primary-dark); }   .section { padding: 100px 0; } .section.section--first { padding-top: 80px; } .section.section--last { padding-bottom: 120px; } .section:has(+ .section-cta) { padding-bottom: 80px; } .section:nth-child(even) { background: var(--bg-light); } .section-header { text-align: center; margin-bottom: 60px; } .section-header p { text-align: justify; }   .about-container { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: center; } .about-text { margin-bottom: 16px; color: var(--text-medium); text-align: justify; } .about-content .btn { margin-right: 12px; margin-top: 8px; } .about-content p { text-align: justify; } .about-photo { width: 100%; height: auto; border-radius: 16px; box-shadow: 0 20px 40px rgba(26, 74, 92, 0.12);   display: block; object-fit: cover; object-position: center top; } .about-social { display: flex; gap: 12px; margin-top: 24px; } .about-social a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--primary); border-radius: 50%; color: var(--primary); transition: all 0.3s ease; } .about-social a:hover { background: var(--secondary); border-color: var(--secondary); color: var(--white); transform: translateY(-2px); } .about-social svg { width: 18px; height: 18px; } .about-cta-link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; margin-top: 18px; padding: 14px 22px; background: var(--primary); color: #FFFFFF; border: 1px solid var(--primary); border-radius: 50px; font-family: 'Inter', sans-serif; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.2px; text-decoration: none; box-shadow: 0 6px 18px rgba(200, 103, 91, 0.22); transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; } .about-cta-link svg { width: 19px; height: 19px; color: #FFFFFF; flex-shrink: 0; } .about-cta-link:hover { background: var(--primary-dark); color: #FFFFFF; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(168, 80, 69, 0.28); }   .section-about-why { padding: 100px 0; background: var(--primary-light); } .about-why-container { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: stretch; } .about-why-content { display: flex; flex-direction: column; gap: 40px; } .about-why-block { display: flex; flex-direction: column; } .about-why-block:first-child .section-label { margin-bottom: 8px; } .about-why-block:first-child .section-title { margin-bottom: 12px; } .about-why-block:first-child .about-text { margin-bottom: 10px; } .about-buttons { display: flex; align-items: center; gap: 12px; flex-wrap: nowrap; } .about-buttons .btn { flex: 1; justify-content: center; text-align: center; white-space: nowrap; padding: 12px 18px; font-size: 0.85rem; } .about-why-block:first-child .about-buttons { padding-top: 12px; } .about-why-block:last-child .why-text:last-of-type { margin-bottom: 24px; } .about-why-divider { border: none; border-top: 1px solid rgba(201, 169, 110, 0.2); margin: 0; width: 100%; } .about-why-image { display: flex; overflow: hidden; border-radius: 16px; } .about-why-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 16px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); display: block; } .why-text { text-align: justify; }   .values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; } .value-card { background: var(--white); padding: 36px 28px; border-radius: 16px; text-align: center; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); border: 2px solid transparent; opacity: 0; transform: translateY(40px); animation: valueCardIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.3s ease; } .value-card:nth-child(1) { animation-delay: 0.05s; } .value-card:nth-child(2) { animation-delay: 0.12s; } .value-card:nth-child(3) { animation-delay: 0.19s; } .value-card:nth-child(4) { animation-delay: 0.26s; } .value-card:nth-child(5) { animation-delay: 0.33s; } .value-card:nth-child(6) { animation-delay: 0.4s; } @keyframes valueCardIn { to { opacity: 1; transform: translateY(0); } } .value-card:hover { transform: translateY(-8px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1); border-color: var(--primary); } .value-icon-wrapper { width: 64px; height: 64px; background: rgba(201, 109, 75, 0.1); border-radius: 16px; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; } .value-icon { width: 56px; height: 56px; background: linear-gradient(135deg, rgba(201, 109, 75, 0.08), rgba(201, 109, 75, 0.15)); border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; position: relative; isolation: isolate; transition: transform 0.4s ease; } .value-icon svg { width: 26px; height: 26px; color: var(--primary); transition: color 0.4s ease; } .value-card-img { width: 28px; height: 28px; object-fit: contain; display: block; filter: brightness(1) invert(0); transition: transform 0.4s ease, filter 0.4s ease; } .value-card:hover .value-card-img { transform: scale(1.1) rotate(-5deg); filter: brightness(0) invert(1); } .value-card:hover .value-icon { transform: scale(1.1) rotate(-5deg);  } .value-card:hover .value-icon svg { color: var(--white); } .value-card h3 { font-family: 'Inter', sans-serif; font-size: 1.05rem; font-weight: 600; color: var(--text-dark); margin-bottom: 10px; transition: color 0.3s ease; } .value-card:hover h3 { color: var(--primary); } .value-card p { font-size: 0.9rem; color: var(--text-medium); line-height: 1.6; margin: 0; }   @media (max-width: 768px) { .values-grid { grid-template-columns: 1fr; gap: 16px; } } @media (min-width: 769px) and (max-width: 1024px) { .values-grid { grid-template-columns: repeat(2, 1fr); } }   .section-treatments { background: var(--bg-light); padding: 80px 0; } .section-subtitle { font-size: 1rem; color: var(--text-medium); max-width: 600px; margin: 12px auto 0; line-height: 1.6; } .treatments-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 800px; margin: 48px auto 0; } .treatment-card { background: var(--white); border-radius: 16px; padding: 36px 28px; text-decoration: none; display: flex; flex-direction: column; align-items: center; text-align: center; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); border: 2px solid transparent; opacity: 0; transform: translateY(40px); animation: treatmentCardIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.3s ease; } .treatment-card:nth-child(1) { animation-delay: 0.1s; } .treatment-card:nth-child(2) { animation-delay: 0.2s; } @keyframes treatmentCardIn { to { opacity: 1; transform: translateY(0); } } .treatment-card:hover { transform: translateY(-8px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1); border-color: var(--primary); } .treatment-card-icon { width: 64px; height: 64px; background: linear-gradient(135deg, rgba(201, 109, 75, 0.08), rgba(201, 109, 75, 0.15)); border-radius: 16px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; transition: transform 0.4s ease, background 0.4s ease; flex-shrink: 0; } .treatment-card-img { width: 30px; height: 30px; object-fit: contain; display: block; transition: transform 0.4s ease; } .treatment-card:hover .treatment-card-img { transform: scale(1.1) rotate(-5deg); filter: brightness(0) invert(1); } .treatment-card:hover .treatment-card-icon { transform: scale(1.1) rotate(-5deg); background: var(--primary); } .treatment-card:hover .treatment-card-icon svg { color: var(--white); } .treatment-card-body h3 { font-family: 'Inter', sans-serif; font-size: 1.15rem; font-weight: 600; color: var(--text-dark); margin-bottom: 10px; transition: color 0.3s ease; } .treatment-card:hover .treatment-card-body h3 { color: var(--primary); } .treatment-card-body p { font-size: 0.9rem; color: var(--text-medium); line-height: 1.6; margin: 0 0 16px; } .treatment-card-link { font-size: 0.85rem; font-weight: 600; color: var(--primary); transition: gap 0.3s ease; display: inline-flex; align-items: center; gap: 4px; } .treatment-card:hover .treatment-card-link { gap: 8px; }   @media (max-width: 768px) { .treatments-grid { grid-template-columns: 1fr; gap: 16px; } }   .testimonials-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; max-width: 800px; margin: 0 auto; } .testimonial-card { background: var(--white); padding: 40px 40px 28px; border-radius: 16px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); transition: all 0.3s ease; } .testimonial-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08); border-left: 3px solid var(--primary); } .testimonial-text { font-family: 'Lora', serif; font-style: italic; color: var(--text-medium); line-height: 1.8; margin-bottom: 20px; text-align: justify; } .testimonial-author { font-weight: 600; color: var(--primary); } .testimonial-google-badge { display: inline-flex; align-items: center; gap: 6px; background: #F0F4FF; color: #4285F4; font-size: 0.75rem; font-weight: 600; padding: 4px 10px; border-radius: 20px; margin-bottom: 12px; letter-spacing: 0.5px; } .testimonial-google-badge svg { flex-shrink: 0; } .testimonials-subtitle { color: var(--text-light); font-size: 0.95rem; margin-top: -8px; } .testimonials-actions { text-align: center; margin-top: 48px; } .testimonials-actions-text { color: var(--text-medium); font-size: 0.95rem; margin-bottom: 20px; } .testimonials-buttons { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; } .testimonials-buttons .btn svg { margin-right: 4px; } .stars { color: #F4A940; font-size: 1.2rem; margin-bottom: 16px; letter-spacing: 4px; }   .depoimentos { background: var(--bg-light); padding: 5rem 1rem; } .depoimentos__container { max-width: 1200px; margin: 0 auto; text-align: center; } .depoimentos__titulo { font-family: 'Playfair Display', serif; font-size: 2rem; color: var(--primary); margin-bottom: 0.5rem; } .depoimentos__subtitulo { color: var(--text-medium); margin-bottom: 2.5rem; font-size: 1rem; } .carrossel { position: relative; display: flex; align-items: center; justify-content: center; gap: 0.75rem; } .carrossel__viewport { overflow: hidden; width: 100%; border-radius: 16px; } .carrossel__track { display: flex; gap: 1.5rem; transition: transform 0.4s ease-in-out; } .depoimento-card { flex: 0 0 100%; background: var(--bg-card); border-radius: 16px; padding: 1.75rem 1.5rem; border: 1px solid #E5E7EB;   box-shadow: 0 4px 20px rgba(26, 74, 92, 0.06); text-align: left; display: flex; flex-direction: column; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; } .depoimento-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(26, 74, 92, 0.12); border-color: var(--secondary);   }   @media (min-width: 768px) { .depoimento-card { flex: 0 0 calc(50% - 0.75rem); } .depoimentos__titulo { font-size: 2.5rem; } .carrossel__seta { width: 48px; height: 48px; } } .depoimento-card__selo { display: inline-flex; align-items: center; gap: 0.4rem; background: var(--primary-light); color: var(--primary); font-size: 0.75rem; font-weight: 600; padding: 0.35rem 0.75rem; border-radius: 999px; width: fit-content; margin-bottom: 0.75rem; } .depoimento-card__estrelas { color: #fbbf24; font-size: 1.2rem; margin-bottom: 0.75rem; letter-spacing: 2px; } .depoimento-card__texto { font-style: italic; color: var(--text-dark); line-height: 1.65; margin: 0 0 1rem 0; flex-grow: 1; font-size: 0.95rem; } .depoimento-card__autor { color: var(--text-medium); font-size: 0.9rem; font-weight: 600; text-decoration: none; transition: color 0.3s ease; } .depoimento-card__autor:hover { color: var(--secondary); text-decoration: underline; } .carrossel__seta { width: 48px; height: 48px; border-radius: 50%; background: var(--primary); border: none; box-shadow: 0 4px 16px rgba(26, 74, 92, 0.2); cursor: pointer; display: flex; align-items: center; justify-content: center; color: #FFFFFF; transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease; flex-shrink: 0; z-index: 2; } .carrossel__seta:hover { background: var(--secondary); color: #FFFFFF; transform: scale(1.1); box-shadow: 0 6px 20px rgba(201, 169, 110, 0.4); } .carrossel__seta:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; } .carrossel__seta:disabled { opacity: 0.3; cursor: default; transform: none; } .carrossel__indicadores { display: flex; justify-content: center; gap: 0.6rem; margin-top: 1.5rem; } .carrossel__indicador { width: 10px; height: 10px; border-radius: 50%; border: none; padding: 0; background: #d1d5db; cursor: pointer; transition: background 0.3s ease, transform 0.3s ease; } .carrossel__indicador.ativo { background: var(--secondary); transform: scale(1.3); } .depoimentos__botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 2.5rem; } .botao { display: inline-flex; align-items: center; justify-content: center; padding: 0.85rem 1.5rem; border-radius: 999px; font-weight: 600; font-size: 0.95rem; text-decoration: none; transition: all 0.3s ease; cursor: pointer; } .botao--outline { border: 2px solid var(--primary); color: var(--primary); background: transparent; } .botao--outline:hover { background: var(--primary); color: #ffffff; transform: translateY(-2px); } .botao--primary { background: var(--primary); color: #ffffff; border: 2px solid var(--primary); } .botao--primary:hover { opacity: 0.9; transform: translateY(-2px); }   .blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 40px; } .blog-card { background: var(--white); border-radius: 16px; overflow: hidden; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); opacity: 0; transform: translateY(40px) scale(0.95); animation: blogCardEntrance 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease; } .blog-card:nth-child(1) { animation-delay: 0.1s; } .blog-card:nth-child(2) { animation-delay: 0.25s; } .blog-card:nth-child(3) { animation-delay: 0.4s; } @keyframes blogCardEntrance { to { opacity: 1; transform: translateY(0) scale(1); } } .blog-card:hover { transform: translateY(-10px) scale(1.02); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12); } .blog-card-image { display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 12px 12px 0 0; background: var(--bg-light); } .blog-card-img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); } .blog-card:hover .blog-card-img { transform: scale(1.08); } .post-cover-img { width: 100%; height: auto; max-height: none; object-fit: contain; object-position: center; display: block; margin-bottom: 32px; border-radius: 16px; } .post-container { max-width: 1000px; margin: 0 auto; } .post-article { background: var(--white); border-radius: 16px; padding: 56px 64px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); } .post-meta { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; font-size: 0.85rem; color: var(--text-light); } .post-category { font-size: 0.75rem; color: var(--primary); text-transform: uppercase; letter-spacing: 2px; font-weight: 500; } .post-body h2 { font-family: 'Playfair Display', serif; font-size: 1.5rem; color: var(--text-dark); margin-top: 40px; margin-bottom: 16px; } .post-body h3 { font-family: 'Inter', sans-serif; font-size: 1.1rem; font-weight: 600; color: var(--primary); margin-top: 32px; margin-bottom: 12px; } .post-body p { font-size: 1rem; line-height: 1.8; color: var(--text-medium); margin-bottom: 20px; text-align: justify; } .post-body ul { list-style: none; padding: 0; margin: 20px 0 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .post-body ul li { padding: 12px 16px 12px 36px; background: var(--bg-warm); border-radius: 10px; color: var(--text-medium); font-size: 0.92rem; position: relative; } .post-body ul li::before { content: "✓"; position: absolute; left: 14px; color: var(--primary); font-weight: 700; } .post-cta { margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(0, 0, 0, 0.06); } .post-cta-content { background: linear-gradient(135deg, var(--bg-warm), #F0E8E0); border-radius: 16px; padding: 36px; text-align: center; margin-bottom: 24px; } .post-cta-content h3 { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--text-dark); margin: 0 0 12px; } .post-cta-content p { font-size: 0.95rem; color: var(--text-medium); margin: 0 0 20px; line-height: 1.6; } .post-cta-back { text-align: center; } .post-article { opacity: 0; transform: translateY(30px); animation: postFadeIn 0.5s ease forwards; } @keyframes postFadeIn { to { opacity: 1; transform: translateY(0); } } .blog-card-body { padding: 28px; } .blog-card-category { font-size: 0.75rem; color: var(--primary); text-transform: uppercase; letter-spacing: 2px; font-weight: 500; } .blog-card-title { font-family: 'Playfair Display', serif; font-size: 1.2rem; margin: 12px 0; color: var(--text-dark); line-height: 1.4; } .blog-card-date { font-size: 0.85rem; color: var(--text-light); } .blog-card-link { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); font-weight: 600; font-size: 0.9rem; margin-top: 16px; padding: 8px 20px; background: rgba(26, 74, 92, 0.06); border-radius: 8px; transition: all 0.3s ease; text-decoration: none; } .blog-card-link:hover { color: var(--white); background: var(--primary); gap: 10px; } .blog-card-excerpt { font-size: 0.9rem; color: var(--text-dark); line-height: 1.6; margin: 8px 0 16px; } .blog-card-meta { font-size: 0.82rem; color: var(--text-medium); margin-bottom: 4px; }   .dtm-image-label { position: absolute; top: 16px; left: 0; width: 100%; text-align: center; z-index: 3; pointer-events: none; } .dtm-image-label span { display: inline-block; font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 700; color: var(--primary, #c96d4b); background: rgba(255, 255, 255, 0.85); padding: 8px 18px; border-radius: 50px; letter-spacing: 0.5px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); } @media (max-width: 768px) { .dtm-image-label span { font-size: 0.85rem; padding: 6px 14px; } }   .contact-section--refined { position: relative; overflow: hidden; padding: 110px 0 120px; background: linear-gradient(180deg, #f8f6f3 0%, #f5f0ea 50%, #f8f6f3 100%); } .contact-section--refined::before { content: ""; position: absolute; top: 0; left: 50%; width: min(90%, 1180px); height: 1px; transform: translateX(-50%); background: linear-gradient( 90deg, transparent, rgba(201, 169, 110, .48), transparent ); } .contact-ambient { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(2px); } .contact-ambient--one { width: 420px; height: 420px; top: 90px; right: -190px; background: radial-gradient( circle, rgba(200, 103, 91, .12) 0%, rgba(200, 103, 91, 0) 72% ); } .contact-ambient--two { width: 350px; height: 350px; bottom: -140px; left: -150px; background: radial-gradient( circle, rgba(201, 169, 110, .16) 0%, rgba(201, 169, 110, 0) 72% ); } .contact-refined-intro { width: min(100%, 760px); margin: 0 auto 54px; text-align: center; position: relative; z-index: 2; } .contact-refined-eyebrow { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 16px; } .contact-refined-eyebrow > span:not(.section-label) { width: 42px; height: 1px; background: var(--secondary); opacity: .65; } .contact-refined-intro h2 { margin: 0 auto 18px; max-width: 720px; font-family: 'Playfair Display', serif; font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 1.08; font-weight: 600; letter-spacing: -.025em; color: var(--text-dark); } .contact-refined-intro p { max-width: 650px; margin: 0 auto; font-size: 1rem; line-height: 1.85; color: var(--text-medium); } .contact-refined-shell { position: relative; z-index: 2; display: grid; grid-template-columns: .82fr 1.18fr; gap: 0; max-width: 1180px; margin: 0 auto; border-radius: 30px; overflow: hidden; background: rgba(255, 255, 255, .72); border: 1px solid rgba(44, 34, 28, .08); box-shadow: 0 30px 80px rgba(53, 41, 34, .10), 0 6px 18px rgba(53, 41, 34, .05); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }   .contact-refined-aside { position: relative; padding: 48px 40px; background: linear-gradient( 145deg, rgba(37, 30, 26, .985) 0%, rgba(26, 26, 26, .995) 100% ); color: #fff; overflow: hidden; } .contact-refined-aside::before { content: "JT"; position: absolute; right: -20px; bottom: -58px; font-family: 'Playfair Display', serif; font-size: 12rem; line-height: 1; color: rgba(255,255,255,.025); pointer-events: none; } .contact-refined-aside::after { content: ""; position: absolute; top: -120px; right: -120px; width: 300px; height: 300px; border: 1px solid rgba(201, 169, 110, .13); border-radius: 50%; } .contact-refined-aside .section-label { color: var(--secondary); } .contact-refined-aside-top { position: relative; z-index: 2; padding-bottom: 34px; margin-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.09); } .contact-refined-aside-top h3 { margin: 12px 0 14px; max-width: 340px; font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.16; font-weight: 600; color: #fff; } .contact-refined-aside-top p { margin: 0; max-width: 360px; color: rgba(255,255,255,.62); font-size: .94rem; line-height: 1.75; } .contact-refined-list { position: relative; z-index: 2; } .contact-refined-item { display: grid; grid-template-columns: 46px 1fr 22px; gap: 15px; align-items: center; min-width: 0; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.075); text-decoration: none; color: inherit; transition: padding .3s ease, border-color .3s ease; } .contact-refined-item:hover { padding-left: 6px; border-bottom-color: rgba(201,169,110,.35); } .contact-refined-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(201, 169, 110, .28); border-radius: 50%; color: var(--secondary); background: rgba(201,169,110,.055); } .contact-refined-icon svg { width: 19px; height: 19px; } .contact-refined-item-copy { display: flex; flex-direction: column; min-width: 0; } .contact-refined-item-copy small { margin-bottom: 5px; color: rgba(255,255,255,.38); font-size: .67rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; } .contact-refined-item-copy strong { color: rgba(255,255,255,.92); font-size: .92rem; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; } .contact-refined-item-copy > span { margin-top: 3px; color: rgba(255,255,255,.46); font-size: .78rem; line-height: 1.45; } .contact-refined-arrow { color: var(--secondary); opacity: .66; font-size: 1.1rem; transition: opacity .3s ease, transform .3s ease; } .contact-refined-item:hover .contact-refined-arrow, .contact-refined-whatsapp:hover .contact-refined-arrow { opacity: 1; transform: translate(2px, -2px); } .contact-refined-meta { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 32px; } .contact-refined-meta > div { padding: 17px 16px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.025); } .contact-refined-meta span { display: block; margin-bottom: 6px; color: rgba(255,255,255,.35); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; } .contact-refined-meta strong { color: rgba(255,255,255,.79); font-size: .78rem; font-weight: 500; }   .contact-refined-form-card { position: relative; padding: 50px 50px 42px; background: linear-gradient( 160deg, rgba(255,255,255,.96), rgba(253,250,247,.94) ); } .contact-refined-form-card::after { content: ""; position: absolute; top: 34px; right: 34px; width: 74px; height: 74px; border-top: 1px solid rgba(201,169,110,.42); border-right: 1px solid rgba(201,169,110,.42); pointer-events: none; } .contact-refined-form-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 10px; } .contact-refined-form-top h3 { margin: 9px 0 0; font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3.5vw, 2.7rem); line-height: 1.12; font-weight: 600; letter-spacing: -.02em; color: var(--text-dark); } .contact-refined-step { padding-top: 4px; color: rgba(200,103,91,.42); font-family: 'Playfair Display', serif; font-size: 2.5rem; line-height: 1; } .contact-refined-form-intro { max-width: 570px; margin: 0 0 34px; color: var(--text-medium); font-size: .94rem; line-height: 1.72; }   .contact-form--floating { position: relative; } .contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .form-field { position: relative; margin-bottom: 16px; } .form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 60px; padding: 23px 17px 10px; border: 1px solid rgba(46, 36, 30, .12); border-radius: 14px; outline: 0; background: rgba(255,255,255,.72); color: var(--text-dark); font-family: 'Inter', sans-serif; font-size: .92rem; line-height: 1.4; box-shadow: inset 0 1px 0 rgba(255,255,255,.75); transition: border-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease; } .form-field textarea { min-height: 145px; padding-top: 27px; resize: vertical; } .form-field select { appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 42px; } .form-field label { position: absolute; top: 19px; left: 17px; z-index: 2; max-width: calc(100% - 34px); pointer-events: none; color: #8f8782; font-size: .87rem; font-weight: 500; line-height: 1; transform-origin: left top; transition: top .22s ease, transform .22s ease, color .22s ease; } .form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color: rgba(200, 103, 91, .48); background: #fff; box-shadow: 0 0 0 4px rgba(200,103,91,.07), 0 12px 28px rgba(57,42,34,.045); } .form-field input:focus + label, .form-field input:not(:placeholder-shown) + label, .form-field textarea:focus + label, .form-field textarea:not(:placeholder-shown) + label, .form-field select:focus + label, .form-field select:valid + label { top: 10px; transform: scale(.76); color: var(--primary); } .form-field--select label { background: transparent; } .form-select-chevron { position: absolute; right: 16px; top: 50%; pointer-events: none; transform: translateY(-50%); color: var(--primary); font-size: 1.05rem; } .form-field--textarea label { top: 21px; }   .contact-refined-actions { margin-top: 6px; } .contact-refined-submit { width: 100%; min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px 0 24px; border-radius: 14px; box-shadow: 0 14px 28px rgba(200,103,91,.18); } .contact-refined-submit svg { width: 20px; height: 20px; transition: transform .3s ease; } .contact-refined-submit:hover svg { transform: translateX(4px); } .contact-refined-whatsapp { min-height: 70px; display: grid; grid-template-columns: 42px 1fr 22px; align-items: center; gap: 13px; margin-top: 13px; padding: 12px 17px; border: 1px solid rgba(39, 158, 95, 0.14); border-radius: 14px; background: rgba(249, 255, 251, 0.72); color: var(--text-dark); text-decoration: none; overflow: visible; transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; } .contact-refined-whatsapp:hover { transform: translateY(-2px); background: #fff; border-color: rgba(39,158,95,.25); box-shadow: 0 14px 30px rgba(38, 121, 74, .07); } .contact-refined-whatsapp-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #25D366; color: #fff; } .contact-refined-whatsapp-icon svg { width: 21px; height: 21px; } .contact-refined-whatsapp small { display: block; margin-bottom: 2px; color: var(--text-light); font-size: .69rem; } .contact-refined-whatsapp strong { color: var(--text-dark); font-size: .88rem; font-weight: 600; } .contact-refined-whatsapp .contact-refined-arrow { color: #219653; } .contact-refined-privacy { display: flex; align-items: center; gap: 9px; margin-top: 19px; color: var(--text-light); } .contact-refined-lock { width: 26px; height: 26px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(46,36,30,.08); border-radius: 50%; } .contact-refined-lock svg { width: 12px; height: 12px; } .contact-refined-privacy p { margin: 0; font-size: .71rem; line-height: 1.5; }   @media (max-width: 1050px) { .contact-refined-shell { grid-template-columns: 1fr; max-width: 820px; } .contact-refined-aside { padding: 42px; } .contact-refined-aside::before { font-size: 10rem; } .contact-refined-form-card { padding: 44px 42px 40px; } } @media (max-width: 700px) { .contact-section--refined { padding: 82px 0 90px; } .contact-refined-intro { margin-bottom: 38px; } .contact-refined-intro h2 { font-size: 2.2rem; } .contact-refined-shell { border-radius: 22px; } .contact-refined-aside, .contact-refined-form-card { padding: 30px 22px; } .contact-form-row, .contact-refined-meta { grid-template-columns: 1fr; } .contact-refined-form-card::after { width: 48px; height: 48px; top: 22px; right: 22px; } .contact-refined-step { display: none; } .contact-refined-item { grid-template-columns: 42px minmax(0,1fr) 18px; gap: 12px; } .contact-refined-item-copy strong { font-size: .86rem; } }   .contact-refined-step { display: none !important; } .contact-refined-list .contact-refined-item:last-child { border-bottom: 0; } .contact-refined-aside { padding-bottom: 40px; } .contact-refined-item--whatsapp .contact-refined-icon { color: var(--secondary); } .contact-refined-item--whatsapp .contact-refined-icon svg { width: 18px; height: 18px; display: block; } @media (max-width: 700px) { .contact-refined-aside { padding-bottom: 28px; } }   .section.section-cta { position: relative; min-height: 70vh; display: flex; align-items: center; background: url('/assets/optimized-a433a21eff48/images/cta-jaq.webp') no-repeat; background-size: cover; image-rendering: auto; background-position: 42% center; overflow: hidden; } .section.section-cta::before { content: ''; position: absolute; inset: 0; background: linear-gradient( 90deg, rgba(15, 46, 58, 0.42) 0%, rgba(15, 46, 58, 0.28) 28%, rgba(15, 46, 58, 0.14) 55%, rgba(15, 46, 58, 0.04) 100% ); z-index: 1; pointer-events: none; } .section-cta .cta-content { position: relative; z-index: 2; max-width: 570px; padding: 36px 38px; border-radius: 24px; background: rgba(255, 255, 255, 0.34); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(255, 255, 255, 0.45); box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08); text-align: left; } .cta-label { display: inline-block; font-size: 0.75rem; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #FFFFFF; background: var(--primary); border: 1px solid var(--secondary); padding: 8px 18px; border-radius: 50px; margin-bottom: 20px; } .cta-title { font-family: 'Playfair Display', serif; font-size: clamp(1.7rem, 3.5vw, 2.4rem); font-weight: 700; line-height: 1.2; color: #1A1A1A; text-shadow: none; margin-bottom: 18px; } .cta-text { font-size: 1rem; line-height: 1.75; color: #333333; font-weight: 500; margin-bottom: 28px; } .cta-button { display: inline-flex; align-items: center; gap: 10px; font-family: 'Inter', sans-serif; font-size: 0.85rem; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; text-decoration: none; color: var(--white); background: var(--primary); padding: 16px 32px; border-radius: 50px; border: 2px solid var(--secondary); transition: all 0.3s ease; box-shadow: 0 4px 20px rgba(201, 169, 110, 0.3); } .cta-button svg { flex-shrink: 0; width: 20px; height: 20px; color: var(--white); } .cta-button:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #FFFFFF; transform: translateY(-3px); box-shadow: 0 8px 28px rgba(168, 80, 69, 0.28); } .cta-button:hover svg { color: #FFFFFF; }   .page-banner { padding: 160px 0 70px; background: linear-gradient( 135deg, var(--primary) 0%, var(--footer-bg) 50%, var(--primary) 100% ); position: relative; overflow: hidden; } .page-banner::before { content: ''; position: absolute; top: -50%; right: -10%; width: 450px; height: 450px; background: radial-gradient(circle, rgba(201, 169, 110, 0.1) 0%, transparent 70%); border-radius: 50%; pointer-events: none; } .page-banner::after { content: ''; position: absolute; bottom: -30%; left: -5%; width: 300px; height: 300px; background: radial-gradient(circle, rgba(201, 169, 110, 0.06) 0%, transparent 70%); border-radius: 50%; pointer-events: none; } .page-banner .container { position: relative; z-index: 1; } .page-banner .section-label { display: inline-block; font-size: 0.8rem; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 12px; color: var(--secondary);   } .page-banner h1 { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3.5vw, 2.8rem); margin-bottom: 16px; line-height: 1.2; color: #ffffff; } .page-banner .banner-tagline { font-size: 1.1rem; max-width: 600px; line-height: 1.7; margin-bottom: 12px; color: rgba(255, 255, 255, 0.9); } .page-breadcrumb { font-size: 0.85rem; color: rgba(255, 255, 255, 0.65); } .page-breadcrumb a { color: var(--secondary);   font-weight: 500; text-decoration: none; } .page-breadcrumb a:hover { text-decoration: underline; color: #ffffff; }   .content-section { padding: 80px 0; } .content-text { max-width: 800px; margin: 0 auto; color: var(--text-medium); line-height: 1.9; } .content-text p { margin-bottom: 20px; } .content-text ul { margin-bottom: 24px; padding-left: 24px; list-style: none; } .content-text li { margin-bottom: 12px; position: relative; padding-left: 20px; } .content-text li::before { content: "•"; color: var(--primary); position: absolute; left: 0; font-weight: bold; } .appointment-content { text-align: center; max-width: 700px; margin: 0 auto; } .appointment-text { margin-bottom: 32px; color: var(--text-medium); text-align: justify; }   .about-content h3 { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--text-dark); margin-top: 32px; margin-bottom: 8px; } .about-content p { text-align: justify; } .symptoms-list { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .symptoms-list li { padding: 14px 16px 14px 40px; background: var(--white); border-radius: 10px; color: var(--text-medium); font-size: 0.92rem; line-height: 1.5; position: relative; transition: all 0.3s ease; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); border: 2px solid transparent; cursor: pointer; user-select: none; } .symptoms-list li::before { content: "✓"; position: absolute; left: 14px; top: 14px; color: var(--primary); font-weight: 700; font-size: 1rem; transition: all 0.3s ease; } .symptoms-list li:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); }   .symptoms-list li.selected { background: linear-gradient(135deg, #fff5f0, #fde8e0); border-color: var(--primary); box-shadow: 0 4px 16px rgba(201, 109, 75, 0.2); transform: translateY(-2px); } .symptoms-list li.selected::before { color: var(--white); background: var(--primary); border-radius: 50%; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; left: 12px; top: 13px; padding-left: 1px; } .symptoms-counter { margin-top: 20px; padding: 14px 20px; background: var(--bg-warm); border-radius: 10px; font-size: 0.9rem; color: var(--text-medium); text-align: center; display: none; } .symptoms-counter.visible { display: block; } .symptoms-counter span { color: var(--primary); font-weight: 700; } .treatment-section .section-header { text-align: center; } .treatment-content { max-width: 800px; margin: 0 auto; } .treatment-content p { margin-bottom: 20px; text-align: justify; } .treatment-content p:last-child { margin-bottom: 0; } .treatment-callout { background: linear-gradient(135deg, var(--bg-warm), #F0E8E0); border-left: 4px solid var(--primary); border-radius: 12px; padding: 32px 36px; margin-top: 36px; } .treatment-callout p { font-family: 'Playfair Display', serif; font-size: 1.15rem; color: var(--text-dark); font-style: italic; line-height: 1.6; margin: 0; } .bruxismo-photo { width: 100%; height: 100%; border-radius: 16px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12); display: block; object-fit: contain; object-position: center; } .about-image { display: flex; align-items: center; justify-content: center; padding: 20px; } .causes-section { background: var(--bg-light); padding: 80px 0; } .causes-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 40px; } .cause-card { background: var(--white); padding: 32px 28px; border-radius: 16px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; } .cause-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1); } .cause-icon { width: 48px; height: 48px; background: linear-gradient(135deg, rgba(201, 109, 75, 0.08), rgba(201, 109, 75, 0.15)); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; } .cause-icon svg { width: 24px; height: 24px; color: var(--primary); } .cause-card h3 { font-family: 'Inter', sans-serif; font-size: 1.05rem; font-weight: 600; color: var(--primary); margin-bottom: 10px; } .cause-card-img { width: 28px; height: 28px; object-fit: contain; display: block; transition: transform 0.4s ease; } .cause-card:hover .cause-card-img { transform: scale(1.1) rotate(-5deg); filter: brightness(0) invert(1); } .cause-card:hover .cause-icon { transform: scale(1.1) rotate(-5deg); background: var(--primary); } .cause-card p { font-size: 0.9rem; color: var(--text-medium); line-height: 1.6; margin: 0; } .symptoms-list li { opacity: 0; transform: translateY(20px); animation: symptomFadeIn 0.4s ease forwards; } .symptoms-list li:nth-child(1) { animation-delay: 0.05s; } .symptoms-list li:nth-child(2) { animation-delay: 0.1s; } .symptoms-list li:nth-child(3) { animation-delay: 0.15s; } .symptoms-list li:nth-child(4) { animation-delay: 0.2s; } .symptoms-list li:nth-child(5) { animation-delay: 0.25s; } .symptoms-list li:nth-child(6) { animation-delay: 0.3s; } .symptoms-list li:nth-child(7) { animation-delay: 0.35s; } .symptoms-list li:nth-child(8) { animation-delay: 0.4s; } .symptoms-list li:nth-child(9) { animation-delay: 0.45s; } .symptoms-list li:nth-child(10) { animation-delay: 0.5s; } @keyframes symptomFadeIn { to { opacity: 1; transform: translateY(0); } }   .footer { background: var(--footer-bg); color: var(--footer-text); padding: 60px 0 0; line-height: 1.8; } .footer-container { display: grid; grid-template-columns: 2fr 1fr 1.5fr; gap: 60px; } .footer-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; } .footer-logo-completa { display: inline-block; width: 100%; max-width: 330px; } .footer-brand-image { width: 100%; height: auto; display: block; border-radius: 8px; filter: brightness(0) invert(1); } .footer-logo .logo-name { color: var(--white); } .footer-logo .logo-subtitle { color: rgba(255, 255, 255, 0.55); } .footer-description { font-size: 0.88rem; line-height: 1.7; color: rgba(255, 255, 255, 0.6); margin-top: 16px; margin-bottom: 0; max-width: 360px; } .footer-social { display: flex; gap: 16px; margin-top: 24px; } .footer-social a { width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; } .footer-social a:hover { background: var(--secondary); border-color: var(--secondary); transform: rotate(8deg) scale(1.1); } .footer-social a:hover svg { color: var(--primary); } .footer-social svg { width: 18px; height: 18px; color: var(--white); } .footer h3 { color: var(--secondary); font-size: 1rem; margin-bottom: 20px; font-weight: 600; font-family: 'Inter', sans-serif; } .footer-links ul li { margin-bottom: 14px; } .footer-links a { color: rgba(255, 255, 255, 0.7); transition: color 0.3s ease; font-size: 0.92rem; } .footer-links a:hover { color: var(--secondary); } .footer-contact p { margin-bottom: 14px; font-size: 0.92rem; } .footer-contact a { color: rgba(255, 255, 255, 0.7); transition: color 0.3s ease; } .footer-contact a:hover { color: var(--secondary); } .footer-contact-address { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 14px; } .footer-contact-address svg { width: 16px; height: 16px; color: var(--secondary); flex-shrink: 0; margin-top: 4px; } .footer-contact-address span { font-size: 0.92rem; line-height: 1.6; color: rgba(255, 255, 255, 0.7); } .footer-contact-item { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 0.92rem; } .footer-contact-item svg { width: 16px; height: 16px; color: var(--secondary); flex-shrink: 0; } .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 24px 0; margin-top: 60px; font-size: 0.88rem; } .footer-bottom .container { display: flex; justify-content: space-between; align-items: center; } .footer-bottom p { color: rgba(255, 255, 255, 0.5); } .footer-bottom .privacy-link { color: rgba(255, 255, 255, 0.6); transition: color 0.3s ease; } .footer-bottom .privacy-link:hover { color: var(--secondary); }   .whatsapp-float { position: fixed; bottom: 24px; right: 24px; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(37, 211, 102, 0.3); z-index: 999; transition: transform 0.3s ease; animation: pulse-whatsapp 2s ease-in-out infinite; } .whatsapp-float:hover { transform: scale(1.1); } .whatsapp-float svg { width: 28px; height: 28px; color: var(--white); } @keyframes pulse-whatsapp { 0%, 100% { box-shadow: 0 4px 16px rgba(37, 211, 102, 0.3); } 50% { box-shadow: 0 4px 24px rgba(37, 211, 102, 0.5); } }   .lead-form { background: var(--white); border-radius: 16px; padding: 36px; margin: 40px auto; max-width: 560px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); text-align: center; } .lead-form-title { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--text-dark); margin-bottom: 8px; } .lead-form-text { font-size: 0.9rem; color: var(--text-light); margin-bottom: 24px; } .lead-form-fields { display: flex; flex-direction: column; gap: 12px; } .lead-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .lead-input { width: 100%; padding: 14px 16px; border: 1px solid #E0E0E0; border-radius: 8px; font-family: 'Inter', sans-serif; font-size: 0.95rem; transition: border-color 0.3s ease, box-shadow 0.3s ease; background: var(--bg-light); color: var(--text-dark); box-sizing: border-box; } .lead-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(74, 158, 158, 0.1); } .lead-textarea { min-height: 80px; resize: vertical; } .lead-form .btn { margin-top: 4px; width: 100%; justify-content: center; } .lead-form-disclaimer { font-size: 0.75rem; color: var(--text-light); margin-top: 12px; }   .about-highlight, .banner-subtitle { text-align: justify; }   @media (max-width: 768px) {   .top-bar { display: none; }   .header { top: 0; height: 72px; } main { padding-top: 72px; } .nav { position: fixed; top: 0; right: -300px; width: 300px; height: 100vh; background: var(--white); flex-direction: column; padding: 100px 40px; box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1); transition: right 0.3s ease; z-index: 999; } .nav-link { position: relative; padding-bottom: 4px; transition: color 0.3s ease; } .nav-link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 3px; background: var(--secondary); transition: width 0.3s ease; border-radius: 3px; } .nav-link.active { color: var(--secondary); font-weight: 700; } .nav-link.active::after { width: 100%; } .nav.open { right: 0; } .nav-list { flex-direction: column; gap: 24px; } .btn-header { display: none; } .menu-toggle { display: block; }   .hero { margin: 0; min-height: calc(100svh - 72px); } .hero::after { background: linear-gradient( 90deg, rgba(248, 246, 243, 0.94) 0%, rgba(248, 246, 243, 0.82) 55%, rgba(248, 246, 243, 0.35) 100% ); } .hero-content { max-width: 90%; } .hero-title { font-size: clamp(2rem, 8vw, 3rem); } .hero-subtitle { font-size: 1rem; } .hero-quote { font-size: 0.92rem; }   .about-container { grid-template-columns: 1fr; } .values-grid { grid-template-columns: 1fr 1fr; } .testimonials-grid { grid-template-columns: 1fr; } .footer-container { grid-template-columns: 1fr; gap: 40px; } .contact-grid { grid-template-columns: 1fr; } .blog-grid { grid-template-columns: 1fr; } .grid-2 { grid-template-columns: 1fr; }   .about-why-container { grid-template-columns: 1fr; } .about-why-image { order: -1; height: 50vh; } .about-why-content { order: 2; } .about-buttons { flex-direction: column; gap: 10px; } .about-buttons .btn { width: 100%; }   .page-banner { padding: 130px 0 50px; } .page-banner h1 { font-size: 1.7rem; } .page-banner .banner-tagline { font-size: 0.95rem; } .page-banner::before, .page-banner::after { display: none; }   .symptoms-list { grid-template-columns: 1fr; } .treatment-callout { padding: 24px 20px; } .treatment-callout p { font-size: 1rem; }   .section-cta { min-height: auto; padding: 80px 0; background-position: 30% center; } .cta-content { max-width: 100%; text-align: center; padding: 0; } .cta-button { width: 100%; max-width: 320px; }   .about-photo { max-height: 450px; object-fit: cover; object-position: center 20%; }   .bruxismo-photo { max-height: 350px; object-fit: contain; } .hero-scroll { bottom: 14px; } .hero-scroll-text { font-size: 0.56rem; letter-spacing: 1.8px; } .hero-scroll-indicator { height: 25px; } .hero-scroll-arrow { width: 15px; height: 15px; } }   @media (max-width: 480px) { .hero { padding: 40px 0; background-position: 69% center; } .hero-content { max-width: 100%; } .hero-title { font-size: clamp(1.9rem, 9vw, 2.6rem); } .section { padding: 60px 0; } .container { padding: 0 20px; } .header-container { padding: 14px 20px; } .hero-title { font-size: clamp(1.8rem, 6vw, 2.4rem); } .btn { padding: 12px 24px; font-size: 0.85rem; } .testimonial-card { padding: 28px; } .values-grid { grid-template-columns: 1fr; } .footer-bottom .container { flex-direction: column; gap: 12px; text-align: center; } .lead-form-row { grid-template-columns: 1fr; } .lead-form { padding: 24px 20px; } .symptoms-list li { padding: 12px 14px 12px 36px; font-size: 0.88rem; } .symptoms-list li::before { left: 12px; top: 12px; } }     .section, .hero, .page-banner, .depoimentos, .section-cta, .footer { scroll-margin-top: 120px; }   .section::after { content: ''; display: block; width: 60px; height: 2px; background: linear-gradient(90deg, transparent, var(--primary-light), transparent); margin: 0 auto; margin-top: 100px; opacity: 0.4; }   .section.section--last::after, .section:has(+ .section-cta)::after { display: none; }   .section-cta::after, .depoimentos::after { display: none; }   .body-diagram-container { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } .body-diagram-img { width: 100%; height: auto; max-height: 100%; display: block; border-radius: 16px; transition: opacity 0.3s ease; object-fit: contain; } @media (max-width: 768px) { .body-diagram-container { max-width: 240px; height: auto; margin: 0 auto; } }   .dtm-hint, .bruxismo-hint { margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 16px; background: var(--primary-light); border: 1px solid rgba(200, 103, 91, 0.35); border-radius: 12px; color: var(--primary-dark); font-family: 'Inter', sans-serif; font-size: 0.9rem; font-weight: 600; font-style: normal; text-align: center; box-shadow: 0 4px 14px rgba(200, 103, 91, 0.08); } .dtm-hint::before, .bruxismo-hint::before { content: "↓"; font-size: 1rem; font-weight: 700; color: var(--primary); } .section-about-highlights { padding: 80px 0; background: var(--bg-light); } .highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; } .highlight-card { background: var(--white); padding: 40px 30px; border-radius: 16px; text-align: center; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06); opacity: 0; transform: translateY(60px); animation: cardFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); position: relative; overflow: hidden; } .highlight-card::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 4px; background: var(--secondary); border-radius: 0 0 4px 4px; transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1); } .highlight-card:nth-child(1) { animation-delay: 0.1s; } .highlight-card:nth-child(2) { animation-delay: 0.3s; } .highlight-card:nth-child(3) { animation-delay: 0.5s; } @keyframes cardFadeUp { to { opacity: 1; transform: translateY(0); } } .highlight-card:hover { transform: translateY(-12px) scale(1.04); box-shadow: 0 20px 60px rgba(26, 74, 92, 0.2); } .highlight-card:hover::before { width: 60%; } .highlight-card:hover .highlight-icon { background: var(--secondary); transform: scale(1.1); } .highlight-card:hover .highlight-icon svg { color: var(--white); } .highlight-card:hover h3 { color: var(--secondary); } .highlight-icon { width: 60px; height: 60px; background: rgba(26, 74, 92, 0.08); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; } .highlight-icon svg { width: 28px; height: 28px; color: var(--primary); } .highlight-card-img { width: 32px; height: 32px; object-fit: contain; display: block; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); } .highlight-card:hover .highlight-card-img { transform: scale(1.1); filter: brightness(0) invert(1); } .highlight-card h3 { font-family: 'Inter', sans-serif; font-size: 1.1rem; font-weight: 600; color: var(--primary); margin-bottom: 12px; } .highlight-card p { font-size: 0.92rem; color: #4A5568; line-height: 1.6; }   .back-to-top { position: fixed; bottom: 90px;   right: 30px; width: 48px; height: 48px; border-radius: 50%; background: var(--primary, #1A4A5C); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(26, 74, 92, 0.3); opacity: 0; visibility: hidden; transform: translateY(20px); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); z-index: 999; } .back-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); } .back-to-top:hover { background: var(--secondary, #C9A96E); transform: translateY(-4px); box-shadow: 0 8px 24px rgba(201, 109, 75, 0.4); } .back-to-top svg { width: 22px; height: 22px; }   .faq-section { background: var(--bg-light, #F9F8F4); } .faq-grid { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; } .faq-item { background: var(--white, #fff); border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04); transition: box-shadow 0.3s ease; } .faq-item:hover { box-shadow: 0 4px 20px rgba(26, 74, 92, 0.08); } .faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; background: none; border: none; cursor: pointer; font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 500; color: var(--text-dark, #1A202C); text-align: left; transition: color 0.3s ease; } .faq-question:hover { color: var(--primary, #1A4A5C); } .faq-icon { width: 20px; height: 20px; flex-shrink: 0; color: var(--primary, #1A4A5C); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); } .faq-item.active .faq-icon { transform: rotate(180deg); } .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.4s cubic-bezier(0.16, 1, 0.3, 1); } .faq-item.active .faq-answer { max-height: 300px; } .faq-answer p { padding: 0 24px 20px; font-size: 0.92rem; color: #4A5568; line-height: 1.7; margin: 0; }   .gallery-section { background: var(--bg-light, #F9F8F4); padding: 80px 0; } .gallery-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; margin-top: 40px; }   .gallery-item-large { grid-column: 1 / 2; grid-row: 1 / 3; } .gallery-item { position: relative; border-radius: 14px; overflow: hidden; cursor: pointer; } .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); } .gallery-item:hover img { transform: scale(1.08); } .gallery-overlay { position: absolute; inset: 0; background: rgba(26, 74, 92, 0.5); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #fff; font-family: 'Inter', sans-serif; font-size: 0.85rem; font-weight: 500; opacity: 0; transition: opacity 0.4s ease; } .gallery-item:hover .gallery-overlay { opacity: 1; }   .gallery-lightbox { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.92); z-index: 9999; display: none; align-items: center; justify-content: center; padding: 40px; } .gallery-lightbox.active { display: flex; } .lightbox-img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); } .lightbox-close { position: absolute; top: 20px; right: 20px; background: none; border: none; color: #fff; cursor: pointer; opacity: 0.7; transition: opacity 0.3s ease; z-index: 10; } .lightbox-close:hover { opacity: 1; } .lightbox-prev, .lightbox-next { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: none; color: #fff; cursor: pointer; opacity: 0.6; transition: opacity 0.3s ease; padding: 16px; z-index: 10; } .lightbox-prev { left: 16px; } .lightbox-next { right: 16px; } .lightbox-prev:hover, .lightbox-next:hover { opacity: 1; } .lightbox-counter { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); color: rgba(255, 255, 255, 0.6); font-family: 'Inter', sans-serif; font-size: 0.9rem; }   @media (max-width: 900px) { .gallery-grid { grid-template-columns: 1fr 1fr; gap: 12px; } .gallery-item-large { grid-column: span 2; grid-row: span 1; aspect-ratio: 16 / 9; } .gallery-lightbox { padding: 24px; } .lightbox-img { max-width: 100vw; max-height: 70vh; } .lightbox-prev { left: 8px; } .lightbox-next { right: 8px; } } @media (max-width: 600px) { .gallery-grid { grid-template-columns: 1fr; gap: 10px; } .gallery-item-large { grid-column: span 1; aspect-ratio: 16 / 9; } .gallery-lightbox { padding: 12px; } }   main { position: relative; } .timeline-step { position: relative; z-index: 1; }   .dra-timeline-rail { position: absolute; left: 50%; top: 0; width: 3px; height: 0; transform: translateX(-50%); background: rgba(201, 169, 110, 0.28); border-radius: 999px; overflow: visible; z-index: 5; pointer-events: none; }   .dra-timeline-fill { position: absolute; top: 0; left: 0; width: 100%; height: 0; background: linear-gradient( to bottom, var(--secondary) 0%, var(--primary) 45%, var(--primary-dark) 100% ); border-radius: inherit; box-shadow: 0 0 12px rgba(200, 103, 91, 0.20); will-change: height; }   .timeline-marker { position: absolute; left: 50%; top: 0; width: 30px; height: 30px; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--bg-light); border: 2px solid var(--secondary); color: var(--secondary); font-family: 'Inter', sans-serif; font-size: 0.68rem; font-weight: 700; z-index: 10; box-shadow: 0 0 0 6px var(--bg-light); transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease, transform 0.35s ease; } .timeline-marker.active { background: var(--primary); border-color: var(--primary); color: #FFFFFF; transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 0 6px var(--bg-light), 0 6px 18px rgba(200, 103, 91, 0.20); }   .timeline-step::after { display: none; }   @media (max-width: 768px) {   .dra-timeline-rail { transform: none; width: 2px; } .timeline-dot { width: 26px; height: 26px; box-shadow: 0 0 0 5px rgba(248, 246, 243, 0.92); } .timeline-step .about-container { padding-left: 58px; } .timeline-dot span { font-size: 0.62rem; } } @media (prefers-reduced-motion: reduce) { .timeline-dot, .timeline-dot span { transition: none; } }   .related-posts { margin-top: 56px; padding-top: 42px; border-top: 1px solid rgba(0, 0, 0, 0.07); } .related-posts-heading { margin-bottom: 24px; } .related-posts-heading .section-label { display: block; margin-bottom: 8px; } .related-posts-heading h2 { margin: 0; font-family: 'Playfair Display', serif; font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 500; color: var(--text-dark); } .related-posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .related-post-card { min-height: 190px; padding: 24px; display: flex; flex-direction: column; background: var(--bg-warm); border: 1px solid rgba(200, 103, 91, 0.12); border-radius: 14px; text-decoration: none; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease; } .related-post-card:hover { transform: translateY(-4px); background: #FFFFFF; border-color: rgba(200, 103, 91, 0.28); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07); } .related-post-category { margin-bottom: 14px; font-family: 'Inter', sans-serif; font-size: 0.72rem; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; color: var(--primary); } .related-post-card h3 { margin: 0 0 22px; font-family: 'Playfair Display', serif; font-size: 1.12rem; line-height: 1.35; font-weight: 500; color: var(--text-dark); } .related-post-link { margin-top: auto; font-family: 'Inter', sans-serif; font-size: 0.82rem; font-weight: 600; color: var(--primary); } @media (max-width: 900px) { .related-posts-grid { grid-template-columns: 1fr; } .related-post-card { min-height: auto; } } @media (max-width: 768px) { .related-posts { margin-top: 42px; padding-top: 32px; } .related-post-card { padding: 20px; } }   .map-section--refined { position: relative; overflow: hidden; padding: 110px 0 120px; background: linear-gradient(180deg, #f8f6f3 0%, #f5f0ea 50%, #f8f6f3 100%); } .map-section--refined::before { content: ""; position: absolute; top: 0; left: 50%; width: min(90%, 1180px); height: 1px; transform: translateX(-50%); background: linear-gradient( 90deg, transparent, rgba(201, 169, 110, 0.45), transparent ); } .map-ambient { position: absolute; border-radius: 50%; pointer-events: none; } .map-ambient--one { width: 360px; height: 360px; top: 60px; right: -150px; background: radial-gradient(circle, rgba(200, 103, 91, 0.10) 0%, rgba(200, 103, 91, 0) 72%); } .map-ambient--two { width: 320px; height: 320px; bottom: -120px; left: -120px; background: radial-gradient(circle, rgba(201, 169, 110, 0.14) 0%, rgba(201, 169, 110, 0) 72%); } .map-refined-intro { max-width: 760px; margin: 0 auto 48px; text-align: center; position: relative; z-index: 2; } .map-refined-eyebrow { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 16px; } .map-refined-eyebrow > span:not(.section-label) { width: 42px; height: 1px; background: var(--secondary); opacity: 0.65; } .map-refined-intro h2 { margin: 0 0 18px; font-family: 'Playfair Display', serif; font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: 1.1; font-weight: 600; color: var(--text-dark); } .map-refined-intro p { max-width: 640px; margin: 0 auto; font-size: 1rem; line-height: 1.8; color: var(--text-medium); } .map-refined-shell { position: relative; z-index: 2; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 0; max-width: 1180px; margin: 0 auto; border-radius: 30px; overflow: hidden; background: rgba(255, 255, 255, 0.72); border: 1px solid rgba(44, 34, 28, 0.08); box-shadow: 0 30px 80px rgba(53, 41, 34, 0.10), 0 6px 18px rgba(53, 41, 34, 0.05); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); } .map-refined-content { position: relative; padding: 48px 42px; background: linear-gradient(160deg, rgba(255,255,255,0.96), rgba(253,250,247,0.94)); } .map-refined-content::after { content: ""; position: absolute; top: 28px; right: 28px; width: 60px; height: 60px; border-top: 1px solid rgba(201,169,110,0.42); border-right: 1px solid rgba(201,169,110,0.42); } .map-refined-content h3 { margin: 12px 0 16px; font-family: 'Playfair Display', serif; font-size: clamp(1.9rem, 3vw, 2.4rem); line-height: 1.15; font-weight: 600; color: var(--text-dark); } .map-refined-address { margin: 0 0 28px; color: var(--text-medium); font-size: 0.98rem; line-height: 1.9; } .map-refined-meta { display: grid; gap: 14px; margin-bottom: 28px; } .map-refined-meta-item { padding: 16px 18px; border-radius: 14px; background: rgba(245, 240, 234, 0.72); border: 1px solid rgba(46, 36, 30, 0.07); } .map-refined-meta-item small { display: block; margin-bottom: 6px; color: var(--primary); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; } .map-refined-meta-item strong { color: var(--text-dark); font-size: 0.9rem; font-weight: 500; } .map-refined-button { display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 22px; border-radius: 14px; } .map-refined-frame { min-height: 100%; background: #f3ede7; padding: 18px; } .map-refined-frame-inner { height: 100%; min-height: 100%; border-radius: 22px; overflow: hidden; border: 1px solid rgba(46, 36, 30, 0.08); box-shadow: 0 20px 40px rgba(53, 41, 34, 0.08); } .map-refined-frame iframe { width: 100%; height: 100%; min-height: 520px; border: 0; display: block; filter: saturate(0.92) contrast(1.02); }   @media (max-width: 980px) { .map-refined-shell { grid-template-columns: 1fr; } .map-refined-content { padding: 38px 28px; } .map-refined-frame { padding: 0 18px 18px; } .map-refined-frame iframe { min-height: 420px; } } @media (max-width: 640px) { .map-section--refined { padding: 85px 0 90px; } .map-refined-intro { margin-bottom: 34px; } .map-refined-intro h2 { font-size: 2.1rem; } .map-refined-shell { border-radius: 22px; } .map-refined-content { padding: 28px 20px; } .map-refined-content::after { width: 42px; height: 42px; top: 20px; right: 20px; } .map-refined-frame { padding: 0 14px 14px; } .map-refined-frame-inner { border-radius: 18px; } .map-refined-frame iframe { min-height: 340px; } }   .contact-refined-whatsapp { min-height: 70px; display: grid; grid-template-columns: 42px 1fr 22px; align-items: center; gap: 13px; margin-top: 13px; padding: 12px 17px; border: 1px solid rgba(39, 158, 95, 0.16); border-radius: 14px; background: rgba(249, 255, 251, 0.92); color: var(--text-dark); text-decoration: none; transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; animation: whatsappCardPulse 2.8s ease-in-out infinite; } .contact-refined-whatsapp:hover { transform: translateY(-2px); background: #ffffff; border-color: rgba(39, 158, 95, 0.24); box-shadow: 0 14px 30px rgba(38, 121, 74, 0.08); } @keyframes whatsappCardPulse { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0), 0 8px 18px rgba(38, 121, 74, 0.04); border-color: rgba(39, 158, 95, 0.16); } 50% { transform: scale(1.012); box-shadow: 0 0 0 8px rgba(37, 211, 102, 0.06), 0 16px 28px rgba(38, 121, 74, 0.10); border-color: rgba(37, 211, 102, 0.28); } }

/* Ajustes exclusivos das paginas de DTM e Bruxismo. */
.treatment-page .symptom-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 60px;
  align-items: center;
}
.treatment-page .symptom-intro { grid-column: 2; grid-row: 1; min-width: 0; }
.treatment-page .symptom-interaction { display: contents; }
.treatment-page .symptom-visual { grid-column: 1; grid-row: 1 / 4; min-width: 0; }
.treatment-page .symptom-controls { grid-column: 2; grid-row: 2; min-width: 0; }
.treatment-page .symptom-note { grid-column: 2; grid-row: 3; min-width: 0; }
.treatment-page .symptoms-list li { padding-left: 44px; }
.treatment-page .symptoms-list li::before {
  content: "\2713";
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  left: 12px;
  top: 14px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex-shrink: 0;
}
.treatment-page .symptoms-list li.selected::before {
  content: "\2713";
  width: 22px;
  height: 22px;
  left: 12px;
  top: 14px;
  padding: 0;
}
.treatment-page .dtm-hint::before,
.treatment-page .bruxismo-hint::before { content: "\2193"; flex-shrink: 0; }

@media (max-width: 900px) {
  .treatment-page .symptom-layout { display: block; }
  .treatment-page .symptom-intro { margin-bottom: 24px; }
  .treatment-page .symptom-interaction { display: block; position: relative; }
  .treatment-page .symptom-visual {
    position: sticky;
    top: 80px;
    z-index: 20;
    padding: 10px 0;
    margin: 0;
    background: var(--bg-light, #f8f6f3);
    border-bottom: 1px solid rgba(200, 103, 91, 0.18);
    box-shadow: 0 8px 12px -12px rgba(0, 0, 0, 0.25);
  }
  .treatment-page .symptom-visual .body-diagram-container {
    width: auto;
    max-width: none;
    height: clamp(150px, 26svh, 210px);
    aspect-ratio: 2 / 3;
    margin: 0 auto;
    flex: none;
  }
  .treatment-page .symptom-visual .body-diagram-img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .treatment-page .symptom-controls h3 { margin-top: 24px; line-height: 1.4; }
  .treatment-page .symptoms-list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .treatment-page .symptoms-list li {
    min-width: 0;
    padding: 14px 16px 14px 44px;
    font-size: 0.9375rem;
    line-height: 1.6;
    overflow-wrap: break-word;
  }
  .treatment-page .symptom-note { margin-top: 24px; }
  .treatment-page .about-content p { text-align: left; }
  .treatment-page .causes-grid { gap: 20px; }
  .treatment-page .cause-card { min-width: 0; padding: 24px; }
}
@media (max-width: 600px) {
  .treatment-page .causes-grid { grid-template-columns: minmax(0, 1fr); margin-top: 28px; gap: 16px; }
  .treatment-page .cause-card { padding: 24px; }
  .treatment-page .cause-card h3 { line-height: 1.5; }
  .treatment-page .cause-card p { font-size: 0.9375rem; line-height: 1.7; }
  .treatment-page .dtm-hint,
  .treatment-page .bruxismo-hint { padding: 12px; font-size: 0.875rem; line-height: 1.5; }
}
@media (max-height: 500px) and (max-width: 900px) {
  .treatment-page .symptom-visual { top: 72px; padding: 4px 0; }
  .treatment-page .symptom-visual .body-diagram-container { height: 100px; }
}

/* Trajetoria: cards legiveis sem alterar a linha do tempo. */
.section-about-highlights .highlights-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.section-about-highlights .highlight-card { min-width: 0; }
@media (max-width: 900px) {
  .section-about-highlights .highlights-grid { gap: 20px; }
  .section-about-highlights .highlight-card { padding: 28px 20px; }
}
@media (max-width: 768px) {
  .section-about-highlights .highlights-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .section-about-highlights .highlight-card { padding: 28px 24px; }
  .section-about-highlights .highlight-card h3 { line-height: 1.5; }
  .section-about-highlights .highlight-card p { font-size: 0.9375rem; line-height: 1.7; }
}

/* Keep the gradient stable and fade the hover color together with the icon. */
.value-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--primary);
  opacity: 0;
  z-index: -1;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.value-card:hover .value-icon::before { opacity: 1; }


/* Home: preserve the portrait and its natural colors on small screens. */
@media (max-width: 768px) {
  .hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 0 0 100px;
    background-image: none;
    background-color: var(--bg-light);
  }
  .hero::after { display: none; }
  .hero::before {
    content: "";
    display: block;
    flex: none;
    width: 100%;
    height: clamp(240px, 62vw, 380px);
    background: url('/assets/optimized-a433a21eff48/images/hero-home.webp') 75% center / auto 100% no-repeat;
  }
  .hero-container { padding-top: 32px; }
  .hero-content { max-width: 100%; }
}


/* Office carousel: visible immediately, with native touch scrolling. */
.gallery-grid.gallery-carousel {
  display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain; padding: 4px 0 16px;
  scrollbar-width: thin; scrollbar-color: var(--primary) var(--primary-light);
}
.gallery-carousel .gallery-item {
  flex: 0 0 calc((100% - 40px) / 3); aspect-ratio: 3 / 4;
  scroll-snap-align: start; background: var(--bg-warm);
}
.gallery-carousel .gallery-item:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; }
.gallery-controls { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 16px; }
.gallery-controls[hidden] { display: none; }
.gallery-controls button {
  width: 44px; height: 44px; border: 1px solid var(--primary); border-radius: 50%;
  background: transparent; color: var(--primary); font-size: 1.4rem; cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.gallery-controls button:hover:not(:disabled), .gallery-controls button:focus-visible { background: var(--primary); color: white; }
.gallery-controls button:disabled { opacity: .35; cursor: default; }
.gallery-status { min-width: 85px; text-align: center; color: var(--text-medium); font-size: .9rem; }
.footer-links a, .footer-contact a { transition: color .25s ease, transform .25s ease; }
.footer-links a, .footer-contact p a { display: inline-block; }
.footer-links a:hover, .footer-links a:focus-visible,
.footer-contact a:hover, .footer-contact a:focus-visible { transform: translateX(5px); }
@media (max-width: 900px) { .gallery-carousel .gallery-item { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 600px) { .gallery-carousel .gallery-item { flex-basis: 88%; } }
@media (prefers-reduced-motion: reduce) {
  .footer-links a, .footer-contact a, .gallery-item img { transition: none; }
  .footer-links a:hover, .footer-links a:focus-visible, .footer-contact a:hover, .footer-contact a:focus-visible { transform: none; }
}


/* Office gallery: warm framing and quiet navigation. */
.gallery-section {
  background: linear-gradient(180deg, var(--bg-light), #f1e9df 55%, var(--bg-light));
}
.gallery-section .section-header { max-width: 760px; margin: 0 auto 36px; }
.gallery-section .section-header h2 {
  font-family: 'Playfair Display', serif; font-weight: 500;
  font-size: clamp(1.9rem, 3.2vw, 2.8rem); line-height: 1.2;
  color: var(--text-dark); margin: 12px 0 18px;
}
.gallery-section .section-header p { text-align: center; max-width: 640px; margin: 0 auto; }
.gallery-section .section-header::after {
  content: ''; display: block; width: 52px; height: 1px;
  background: var(--secondary); margin: 26px auto 0;
}
.gallery-grid.gallery-carousel {
  margin-top: 0; padding: 12px 0 20px;
  scrollbar-width: none;
}
.gallery-carousel::-webkit-scrollbar { display: none; }
.gallery-carousel .gallery-item {
  border: 6px solid rgba(255,255,255,.9); border-radius: 22px;
  box-shadow: 0 8px 18px rgba(70,48,30,.08);
}
.gallery-carousel .gallery-overlay {
  background: linear-gradient(180deg, transparent 45%, rgba(48,34,27,.64));
  justify-content: flex-end; padding-bottom: 26px; gap: 8px;
}
.gallery-controls {
  width: fit-content; max-width: calc(100% - 32px); margin: 14px auto 0;
  padding: 10px 14px; gap: 18px; border-radius: 999px;
  border: 1px solid rgba(201,169,110,.28); background: rgba(255,255,255,.8);
  box-shadow: 0 8px 24px rgba(70,48,30,.05);
}
.gallery-controls > button { border: none; background: var(--primary-light); color: var(--primary-dark); }
.gallery-controls > button:disabled { background: transparent; }
.gallery-status { display: flex; align-items: center; gap: 0; min-width: 0; }
.gallery-controls .gallery-dot {
  width: 22px; height: 32px; border: 0; border-radius: 8px;
  background: transparent; display: grid; place-items: center; padding: 0;
}
.gallery-dot::after {
  content: ''; width: 6px; height: 6px; border-radius: 999px;
  background: #d8c7b5; transition: width .25s ease, background .25s ease;
}
.gallery-dot[aria-current="true"]::after { width: 18px; background: var(--primary); }
.gallery-controls .gallery-dot:hover:not(:disabled), .gallery-controls .gallery-dot:focus-visible { background: var(--primary-light); }
.gallery-controls .gallery-dot:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
@media (max-width: 600px) {
  .gallery-section { padding: 60px 0; }
  .gallery-section .section-header { margin-bottom: 22px; }
  .gallery-carousel .gallery-item { border-width: 5px; border-radius: 20px; }
  .gallery-controls { gap: 8px; padding: 8px; }
  .gallery-controls > button { width: 36px; height: 36px; }
  .gallery-controls .gallery-dot { width: 20px; }
}
@media (prefers-reduced-motion: reduce) { .gallery-dot::after { transition: none; } }

/* Credito de desenvolvimento em todas as paginas. */
.footer-bottom .container { flex-wrap: wrap; gap: 12px 24px; }
.footer-bottom .developer-credit { color: rgba(255, 255, 255, 0.8); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; transition: color 0.3s ease; }
.footer-bottom .developer-credit:hover,
.footer-bottom .developer-credit:focus-visible { color: var(--secondary); }
.footer-credit-only { margin-top: 0; background: var(--text-dark); }
.footer-credit-only .container { justify-content: center; }