.arco27 {
    --arco-ink: #211c42;
    --arco-muted: #534c67;
    --arco-brand: #982549;
    color: var(--arco-ink);
    font: 400 1rem/1.55 system-ui, sans-serif;
    text-align: left;
    scroll-margin-top: 6rem;
}
.arco27 *, .arco27 *::before, .arco27 *::after { box-sizing: border-box; }
.arco27-shell { width: min(72rem, 100% - 2.5rem); margin: 0 auto; }
.arco27-hero { padding: clamp(2.25rem, 6vw, 5rem) 0; background: linear-gradient(120deg, #fff3ef, #fff8e5 55%, #f1ebff); }
.arco27-hero-grid, .arco27-interest-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; gap: clamp(1.5rem, 6vw, 5rem); }
.arco27-logo { display: block; width: min(12rem, 100%); height: auto; margin-bottom: 1.5rem; }
.arco27 .arco27-eyebrow { margin: 0 0 .65rem; color: var(--arco-brand); font-size: .82rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.arco27 h1, .arco27 h2, .arco27 h3 { color: var(--arco-ink); font-family: inherit; font-weight: 850; margin: 0 0 .75rem; line-height: 1.08; letter-spacing: -.03em; }
.arco27 h2 { font-size: clamp(1.9rem, 4vw, 3.05rem); }
.arco27 h3 { font-size: 1.45rem; }
.arco27-hero h1, .arco27-hero h2 { font-size: clamp(2.5rem, 6.7vw, 5.65rem); letter-spacing: -.06em; }
.arco27-hero h1 em, .arco27-hero h2 em { display: block; color: var(--arco-brand); font-style: normal; }
.arco27 p { margin: 0 0 1rem; color: var(--arco-muted); }
.arco27 .arco27-intro { font-size: clamp(1rem, 2vw, 1.23rem); }
.arco27 .arco27-prazo { display: table; padding: .35rem .7rem; background: #ffdf86; border-radius: .5rem; color: #513600; font-weight: 750; }
.arco27-hero-photo { display: block; width: min(100%, 23rem); height: auto; margin: auto; border-radius: 2rem; border: .4rem solid #fff; box-shadow: .65rem .65rem 0 #edc5ed; }
.arco27 .arco27-button { display: inline-flex; justify-content: center; align-items: center; min-height: 3rem; padding: .65rem 1.1rem; border: 0; border-radius: .7rem; background: var(--arco-brand); color: #fff; font: inherit; font-weight: 750; text-decoration: none; text-align: center; cursor: pointer; }
.arco27 .arco27-button:hover { background: #7d1537; color: #fff; }
.arco27 .arco27-button:disabled { opacity: .65; cursor: wait; }
.arco27 :is(a, button, input, select):focus-visible { outline: 3px solid #3d3a9e; outline-offset: 3px; }
.arco27-pricing, .arco27-interest { padding: clamp(2.5rem, 6vw, 5rem) 0; }
.arco27-pricing { background: #fffdf9; }
.arco27-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.arco27-card { display: flex; flex-direction: column; padding: clamp(1.1rem, 2.4vw, 1.75rem); border: 1px solid #e6dce9; border-top: .35rem solid #ce6487; border-radius: 1rem; background: #fff; }
.arco27-card:first-child { border-top-color: #dda52d; }
.arco27-card:last-child { border-top-color: #8b74d0; }
.arco27-card dl { display: grid; grid-template-rows: 1fr auto; flex: 1; gap: 1rem; margin: .75rem 0 1.25rem; }
.arco27-card dt { font-weight: 750; }
.arco27-card dd { margin: .25rem 0 0; color: var(--arco-muted); }
.arco27-card dd strong { color: var(--arco-ink); white-space: nowrap; }
.arco27-card dd del { white-space: nowrap; font-size: .9rem; }
.arco27-interest { background: #f4efff; }
.arco27-interest-grid { align-items: start; }
.arco27-interest-photo { display: block; width: min(100%, 19rem); height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 37%; border-radius: 1rem; }
.arco27-form { display: grid; gap: .85rem; padding: clamp(1rem, 3vw, 1.75rem); border: 1px solid #e6dce9; border-radius: 1rem; background: #fff; }
.arco27-form label { display: block; margin-bottom: .25rem; font-weight: 700; }
.arco27-form :is(input, select) { display: block; width: 100%; min-height: 2.75rem; padding: .55rem .7rem; border: 1px solid #9386a5; border-radius: .5rem; color: var(--arco-ink); background: #fff; font: inherit; }
.arco27-form :is(input, select)[aria-invalid="true"] { border-color: var(--arco-brand); }
.arco27-form .arco27-error { margin: .3rem 0 0; color: var(--arco-brand); font-size: .9rem; }
.arco27-form .arco27-note { margin: 0; font-size: .9rem; }
@media (max-width: 52rem) {
    .arco27-cards { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
    .arco27-hero-grid, .arco27-interest-grid { grid-template-columns: 1fr; }
    .arco27-hero-photo { width: min(78%, 18rem); }
    .arco27-interest-photo { width: min(76%, 15rem); }
}
