:root {
  --ink: #1e2b2a;
  --muted: #657473;
  --paper: #f7f5ef;
  --sage: #c8d6c3;
  --sage-deep: #4d7068;
  --orange: #e8794f;
  --orange-dark: #c95f3a;
  --line: #dfe4db;
  --white: #fffdf8;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'DM Sans', sans-serif; font-size: 16px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
.site-header { align-items: center; display: flex; justify-content: space-between; margin: auto; max-width: 1240px; padding: 27px 32px; }
.brand { align-items: center; display: inline-flex; }
.brand-logo { display: block; height: auto; max-width: 184px; width: 100%; }.footer-logo { max-width: 170px; }
.brand-mark { align-items: center; background: var(--orange); border-radius: 50%; color: white; display: inline-flex; font-size: 20px; height: 27px; justify-content: center; width: 27px; }
.main-nav { display: flex; gap: 34px; margin-left: 100px; }
.main-nav a { color: var(--muted); font-size: 13px; font-weight: 600; }
.main-nav a:hover, .header-phone:hover, .text-link:hover { color: var(--orange-dark); }
.header-phone { font-size: 13px; font-weight: 700; }
.phone-icon { color: var(--orange); font-size: 21px; margin-right: 5px; vertical-align: -2px; }
.hero { display: grid; gap: 70px; grid-template-columns: minmax(320px, .94fr) minmax(420px, 1.06fr); margin: auto; max-width: 1240px; padding: 62px 32px 96px; }
.hero-copy { align-self: center; max-width: 520px; padding-bottom: 18px; }
.eyebrow { align-items: center; color: var(--orange-dark); display: flex; font-size: 11px; font-weight: 700; gap: 9px; letter-spacing: .14em; margin: 0 0 22px; text-transform: uppercase; }
.eyebrow span { background: var(--orange); display: inline-block; height: 7px; width: 7px; }
h1, h2 { font-family: Fraunces, Georgia, serif; font-weight: 600; letter-spacing: 0; line-height: 1.05; margin: 0; }
h1 { font-size: clamp(48px, 5vw, 76px); max-width: 590px; }
.hero-text { color: var(--muted); font-size: 17px; line-height: 1.65; margin: 28px 0; max-width: 470px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; }
.button { align-items: center; border: 0; cursor: pointer; display: inline-flex; font-family: inherit; font-size: 13px; font-weight: 700; gap: 9px; justify-content: center; padding: 15px 20px; transition: background .2s, transform .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: #27765d; color: white; gap: 12px; padding: 12px 18px 12px 13px; }
.button-primary:hover { background: var(--orange-dark); }
.button-quiet { color: var(--ink); padding-left: 0; }
.button-quiet span { color: var(--orange); font-size: 20px; }
.whatsapp-icon { border: 2px solid currentColor; border-radius: 50%; display: inline-flex; font-size: 13px; height: 20px; justify-content: center; line-height: 15px; width: 20px; }
.button-copy { display: flex; flex-direction: column; line-height: 1.15; text-align: left; }.button-copy small { font-size: 10px; font-weight: 500; margin-top: 3px; opacity: .78; }
.availability { color: var(--muted); font-size: 11px; margin-top: 28px; }
.status-dot { background: #6b9b75; border-radius: 50%; display: inline-block; height: 7px; margin-right: 7px; width: 7px; }
.hero-visual { min-height: 490px; position: relative; }
.image-frame { background: linear-gradient(110deg, rgba(34,62,58,.12), rgba(34,62,58,.02)), url('assets/ajuda.jpg') center/cover; height: 100%; min-height: 490px; }
.hero-visual::before { border: 1px solid var(--orange); content: ''; height: 80%; left: -16px; position: absolute; top: -16px; width: 72%; z-index: -1; }
.vertical-label { color: var(--white); font-size: 10px; font-weight: 700; letter-spacing: .17em; position: absolute; right: -30px; top: 44%; transform: rotate(90deg); }
.hero-note { align-items: center; background: var(--white); bottom: 30px; display: flex; gap: 14px; left: -37px; padding: 17px 21px; position: absolute; width: 260px; }
.note-icon { color: var(--orange); font-size: 29px; }
.hero-note strong, .hero-note small { display: block; }
.hero-note strong { font-size: 13px; }
.hero-note small { color: var(--muted); font-size: 11px; margin-top: 2px; }
.trust-strip { background: var(--sage); display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 31px max(32px, calc((100vw - 1176px) / 2)); }
.trust-strip > div { align-items: center; border-right: 1px solid rgba(30,43,42,.17); display: flex; gap: 18px; padding: 0 34px; }
.trust-strip > div:first-child { padding-left: 0; }.trust-strip > div:last-child { border: 0; }
.trust-number { color: var(--orange-dark); font-family: Fraunces, Georgia, serif; font-size: 25px; }
.trust-strip p { font-size: 12px; line-height: 1.4; margin: 0; }.trust-strip p span { color: #536764; }
.support-section, .steps-section, .faq-section { margin: auto; max-width: 1240px; padding: 120px 32px; }
.support-section { display: grid; gap: 100px; grid-template-columns: 1fr .8fr; }.support-section h2 { font-size: 48px; max-width: 600px; }.support-content { align-self: end; max-width: 380px; }.support-content p { color: var(--muted); font-size: 16px; line-height: 1.7; }.text-link { border-bottom: 1px solid var(--orange); display: inline-flex; font-size: 13px; font-weight: 700; gap: 26px; padding-bottom: 8px; }.text-link span { color: var(--orange); font-size: 18px; }
.steps-section { border-top: 1px solid var(--line); }.steps-heading { display: flex; justify-content: space-between; }.steps-heading h2 { font-size: 39px; max-width: 480px; }.steps-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); margin-top: 58px; }.step-card { border-top: 2px solid var(--sage-deep); padding: 22px 25px 20px 0; }.step-card-highlight { border-color: var(--orange); }.step-card > span { color: var(--orange-dark); font-family: Fraunces, Georgia, serif; font-size: 21px; }.step-card h3 { font-size: 18px; margin: 25px 0 9px; }.step-card p { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 0; max-width: 285px; }
.contact-section { background: var(--sage-deep); color: white; display: grid; gap: 100px; grid-template-columns: 1fr .8fr; padding: 90px max(32px, calc((100vw - 1176px) / 2)); }.contact-copy { max-width: 530px; }.eyebrow.light { color: var(--sage); }.eyebrow.light span { background: var(--orange); }.contact-copy h2 { font-size: 48px; }.contact-copy > p:not(.eyebrow) { color: #d8e2da; line-height: 1.65; margin-top: 27px; max-width: 460px; }.contact-details { border-left: 2px solid var(--orange); margin-top: 35px; padding-left: 17px; }.contact-details a { display: block; font-size: 20px; font-weight: 700; }.contact-details span { color: #d8e2da; font-size: 12px; }.contact-form { align-self: center; background: var(--white); color: var(--ink); padding: 30px; }.contact-form label { display: block; font-size: 12px; font-weight: 700; margin: 0 0 7px; }.contact-form input, .contact-form textarea { background: transparent; border: 1px solid #cad3cc; border-radius: 0; color: var(--ink); font: inherit; font-size: 13px; margin-bottom: 19px; padding: 12px; resize: vertical; width: 100%; }.contact-form textarea { min-height: 79px; }.button-light { background: var(--orange); color: white; width: 100%; }.button-light:hover { background: var(--orange-dark); }.contact-form small { color: var(--muted); display: block; font-size: 10px; margin-top: 12px; text-align: center; }
.faq-section { display: grid; gap: 100px; grid-template-columns: .8fr 1fr; }.faq-section h2 { font-size: 38px; max-width: 350px; }.faq-list details { border-top: 1px solid var(--line); padding: 20px 0; }.faq-list details:last-child { border-bottom: 1px solid var(--line); }.faq-list summary { cursor: pointer; font-size: 14px; font-weight: 700; list-style: none; padding-right: 30px; position: relative; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary::after { color: var(--orange); content: '+'; font-size: 22px; font-weight: 400; position: absolute; right: 0; top: -6px; }.faq-list details[open] summary::after { content: '−'; }.faq-list details p { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 15px 20px 0 0; }
.site-footer { align-items: center; border-top: 1px solid var(--line); display: flex; justify-content: space-between; margin: auto; max-width: 1240px; padding: 30px 32px 45px; }.site-footer p, .site-footer > a:last-child { color: var(--muted); font-size: 11px; }.floating-whatsapp { align-items: center; animation: whatsapp-pulse 3s ease-in-out infinite; background: #27765d; bottom: 22px; color: white; display: flex; font-size: 12px; font-weight: 700; gap: 10px; padding: 10px 13px 10px 10px; position: fixed; right: 22px; z-index: 5; }.floating-whatsapp:hover { animation-play-state: paused; background: #1c614b; transform: translateY(-3px); }.floating-icon { align-items: center; background: rgba(255,255,255,.16); border-radius: 50%; display: flex; height: 34px; justify-content: center; width: 34px; }.floating-icon .whatsapp-icon { height: 22px; width: 22px; }.floating-copy { display: flex; flex-direction: column; line-height: 1.1; }.floating-copy small { font-size: 10px; font-weight: 500; margin-top: 3px; opacity: .78; }.floating-arrow { color: #b9e3be; font-size: 18px; margin-left: 3px; } @keyframes whatsapp-pulse { 0%, 70%, 100% { box-shadow: 0 7px 20px rgba(39,118,93,.16); } 35% { box-shadow: 0 7px 24px rgba(39,118,93,.42); } }
@media (max-width: 800px) { .site-header { padding: 20px 20px; }.main-nav { display: none; }.header-phone { font-size: 12px; }.hero { display: block; padding: 48px 20px 72px; }.hero-copy { padding-bottom: 60px; }.hero-visual, .image-frame { min-height: 400px; }.hero-visual::before { left: -8px; top: -8px; }.hero-note { bottom: 20px; left: -8px; }.vertical-label { right: -27px; }.trust-strip { display: block; padding: 18px 20px; }.trust-strip > div, .trust-strip > div:first-child { border-bottom: 1px solid rgba(30,43,42,.17); border-right: 0; padding: 15px 0; }.trust-strip > div:last-child { border-bottom: 0; }.support-section, .faq-section { display: block; padding: 78px 20px; }.support-content { margin-top: 40px; }.steps-section { padding: 78px 20px; }.steps-heading { display: block; }.steps-heading h2 { margin-top: 32px; }.steps-grid { display: block; margin-top: 40px; }.step-card { padding: 20px 0 27px; }.contact-section { display: block; padding: 70px 20px; }.contact-form { margin-top: 48px; padding: 24px 20px; }.faq-section .faq-list { margin-top: 45px; }.site-footer { align-items: flex-start; flex-direction: column; gap: 17px; padding: 28px 20px 100px; }.floating-whatsapp { bottom: 15px; left: 20px; justify-content: center; right: 20px; } }
@media (max-width: 450px) { h1 { font-size: 45px; }.hero-text { font-size: 15px; }.header-phone { max-width: 145px; text-align: right; }.contact-copy h2, .support-section h2 { font-size: 38px; }.steps-heading h2 { font-size: 33px; }.hero-visual, .image-frame { min-height: 350px; } }
