/* ARCAMBE visual theme. Presentation only; existing behaviour stays in site.js. */
:root {
  --green: #245c45;
  --green-dark: #173f31;
  --green-soft: #edf3ec;
  --navy: #142f26;
  --navy-2: #203e33;
  --text: #243b31;
  --muted: #657169;
  --line: #dfe5dc;
  --soft: #f5f6f1;
  --shadow: 0 12px 32px rgba(24, 53, 39, .04);
  --radius: 16px;
  --max: 1240px;
}

body.ui-modern { background: #fcfcf9; line-height: 1.75; -webkit-font-smoothing: antialiased; }
.ui-modern h1, .ui-modern h2, .ui-modern h3 { font-weight: 500; letter-spacing: -.035em; text-wrap: balance; }
.ui-modern h1 { color: var(--green-dark); }
.ui-modern a, .ui-modern button, .ui-modern input, .ui-modern summary { -webkit-tap-highlight-color: transparent; }
.ui-modern :focus-visible { outline: 3px solid #66926c; outline-offset: 5px; }
.ui-modern [id] { scroll-margin-top: 110px; }
.ui-modern .container { width: min(var(--max), calc(100% - 96px)); }
.ui-modern .site-header { background: rgba(252, 252, 249, .97); backdrop-filter: blur(16px); box-shadow: none; border-color: var(--line); }
.ui-modern .nav-wrap { height: 88px; gap: 28px; }
.ui-modern .brand { gap: 10px; }
.ui-modern .brand img { width: 44px; height: 44px; mix-blend-mode: multiply; }
.ui-modern .brand strong { font-size: 1.17rem; font-weight: 700; letter-spacing: .025em; }
.ui-modern .brand small { font-size: .61rem; font-weight: 500; margin-top: 6px; }
.ui-modern .desktop-nav { gap: 24px; }
.ui-modern .desktop-nav > a { position: relative; font-size: .82rem; font-weight: 500; padding-block: 10px; }
.ui-modern .desktop-nav > a[aria-current="page"]::after { content: ""; position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--green); bottom: 2px; left: calc(50% - 2px); }
.ui-modern .btn { border-radius: 999px; min-height: 50px; padding: 15px 23px; font-size: .85rem; font-weight: 600; transition: background .2s, border-color .2s, transform .2s; }
.ui-modern .btn-primary { background: var(--green-dark); }
.ui-modern .btn-primary:hover { background: #2b6047; }
.ui-modern .btn-secondary, .ui-modern .btn-outline { background: transparent; border-color: #bdc9bc; color: var(--green-dark); }
.ui-modern .btn-secondary:hover, .ui-modern .btn-outline:hover { background: var(--green-soft); border-color: var(--green); }
.ui-modern .nav-cta { font-size: .78rem; min-height: 44px; padding: 13px 20px; white-space: nowrap; }
.ui-modern .menu-toggle { background: transparent; border-radius: 50%; width: 44px; height: 44px; padding: 10px; }
.ui-modern .mobile-nav { background: #fcfcf9; box-shadow: 0 20px 32px rgba(24, 53, 39, .08); }
.ui-modern .mobile-nav a { font-weight: 500; }
.ui-modern .mobile-nav .btn-primary { color: white; padding-inline: 20px; }

.ui-modern .hero, .ui-modern .landing-hero { background: var(--soft); padding: 88px 0; }
.ui-modern .hero-grid { grid-template-columns: 1fr 1fr; gap: 72px; }
.ui-modern .hero-copy h1 { font-size: clamp(2.7rem, 4.8vw, 4.3rem); line-height: 1.08; margin: 24px 0; font-weight: 500; }
.ui-modern .hero-copy p, .ui-modern .page-hero p { font-size: 1rem; line-height: 1.8; max-width: 610px; }
.ui-modern .eyebrow, .ui-modern .section-title > span, .ui-modern .card-kicker { font-size: .66rem; font-weight: 600; letter-spacing: .14em; }
.ui-modern .hero-copy > .eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #70916a; flex-shrink: 0; }
.ui-modern .hero-actions { gap: 12px; margin-top: 32px; }
.ui-modern .hero-media img { height: 500px; border-radius: 120px 16px 16px 16px; box-shadow: none; }
.ui-modern .hero-media figcaption { position: static; margin-top: 18px; border: 0; border-radius: 0; border-left: 2px solid #a3b89b; padding: 0 0 0 14px; background: transparent; font-size: .75rem; color: var(--muted); max-width: 440px; }
.ui-modern .page-hero { padding: 64px 0 72px; background: var(--soft); }
.ui-modern .page-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.12; margin: 22px 0; }
.ui-modern .breadcrumb { font-size: .74rem; margin-bottom: 28px; }
.ui-modern .breadcrumb a { font-weight: 500; }
.ui-modern .section { padding: 96px 0; }
.ui-modern .section-muted { background: var(--soft); border: 0; }
.ui-modern .section-title { max-width: 720px; margin-bottom: 44px; }
.ui-modern .section-title h2, .ui-modern .split h2 { font-size: clamp(1.9rem, 3.2vw, 2.8rem); line-height: 1.18; margin: 16px 0; color: var(--green-dark); }
.ui-modern .section-title p { font-size: .95rem; line-height: 1.85; }
.ui-modern .help-strip { padding: 80px 0 88px; background: #fcfcf9; }
.ui-modern .help-strip .section-title { width: 100%; max-width: none; text-align: left; margin-bottom: 36px; }
.ui-modern .help-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.ui-modern .help-grid a { position: relative; background: transparent; padding: 30px 28px 32px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; transition: background .2s; }
.ui-modern .help-grid a:hover { background: var(--green-soft); }
.ui-modern .help-grid i { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; font-size: 1rem; margin-bottom: 18px; }
.ui-modern .help-grid strong { font-size: 1rem; font-weight: 600; line-height: 1.5; margin-bottom: 8px; }
.ui-modern .help-grid span { max-width: 330px; font-size: .85rem; }
.ui-modern .help-grid a::after { content: "↗"; position: absolute; right: 24px; top: 34px; color: var(--green); }
.ui-modern .feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ui-modern .feature-grid article, .ui-modern .process-grid article, .ui-modern .module-list article { box-shadow: none; border-radius: 12px; padding: 28px; }
.ui-modern .feature-grid h3, .ui-modern .process-grid h3 { font-size: 1.15rem; margin-block: 16px 10px; }
.ui-modern .feature-grid i { font-size: 1.2rem; }
.ui-modern .process-grid > article > span { font-size: .75rem; font-weight: 500; }
.ui-modern .split { gap: 64px; }
.ui-modern .split-image { border-radius: 16px; box-shadow: none; }
.ui-modern .check-list { gap: 14px; }
.ui-modern .check-list li { font-size: .9rem; line-height: 1.65; }
.ui-modern .text-link { font-weight: 600; font-size: .88rem; padding-bottom: 4px; border-bottom: 1px solid #bdc9bc; width: fit-content; }

.ui-modern .service-grid, .ui-modern .course-grid, .ui-modern .insight-grid { gap: 24px; }
.ui-modern .service-card, .ui-modern .course-card, .ui-modern .insight-grid article { border-radius: 16px; box-shadow: none; background: #fff; transition: border-color .2s; }
.ui-modern .service-card:hover, .ui-modern .course-card:hover, .ui-modern .insight-grid article:hover { border-color: #9fb19b; }
.ui-modern .service-card { grid-template-columns: 180px 1fr; }
.ui-modern .service-card > div { padding: 28px; }
.ui-modern .service-card img { width: 100%; }
.ui-modern .course-body { padding: 24px; gap: 16px; }
.ui-modern .course-body > span { font-size: .63rem; font-weight: 600; letter-spacing: .1em; }
.ui-modern .course-card h3 { font-size: 1.23rem; line-height: 1.4; letter-spacing: -.025em; }
.ui-modern .course-body p { font-size: .88rem; }
.ui-modern .course-meta { gap: 12px; padding-top: 20px; }
.ui-modern .course-meta .price-badge { background: transparent; border: 0; border-radius: 0; padding: 0; font-size: 1.25rem; font-weight: 600; flex-wrap: wrap; }
.ui-modern .price-badge > i { display: none; }
.ui-modern .course-meta .price-badge small { font-weight: 400; }
.ui-modern .course-meta .course-date-line { font-size: .75rem; }
.ui-modern .course-card .btn-secondary { background: var(--green-soft); color: var(--green-dark); border-color: transparent; margin-top: 10px; }
.ui-modern .course-card .btn-secondary:hover { background: var(--green-dark); color: #fff; }
.ui-modern .trainings-hero { background: var(--soft); }
.ui-modern.page-treinamentos main > section > .container { width: min(var(--max), calc(100% - 96px)) !important; max-width: var(--max) !important; }
.ui-modern.page-treinamentos .trainings-hero-grid { grid-template-columns: 1.4fr .8fr; gap: 64px; align-items: center; }
.ui-modern.page-treinamentos .trainings-hero h1 { font-size: clamp(2.5rem, 4.4vw, 4rem); line-height: 1.12; }
.ui-modern .training-proof-panel, .ui-modern.page-treinamentos .training-proof-panel { border-radius: 16px; box-shadow: none; padding: 32px; background: #e9efe5; border: 0; }
.ui-modern .training-proof-panel > strong { font-weight: 500; }
.ui-modern .training-proof-panel li { font-size: .85rem; font-weight: 500; }
.ui-modern .trainings-catalog { background: #fcfcf9; }
.ui-modern .trainings-catalog .course-card { box-shadow: none; }
.ui-modern .testimonial-card, .ui-modern.page-treinamentos .testimonial-card { border-radius: 16px; box-shadow: none; background: #fff; }
.ui-modern .video-embed { box-shadow: none; border-radius: 16px; }
.ui-modern .course-hero .hero-media img { border-radius: 16px; box-shadow: none !important; }
.ui-modern .facts-bar { background: #fcfcf9; }
.ui-modern .facts-grid div { padding: 24px; }
.ui-modern .facts-grid span { font-size: .65rem; letter-spacing: .1em; font-weight: 500; }
.ui-modern .facts-grid strong { font-size: .9rem; font-weight: 500; margin-top: 10px; }
.ui-modern .module-accordion, .ui-modern .faq { gap: 0; }
.ui-modern .module-accordion details, .ui-modern .faq details { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; padding: 24px 4px; }
.ui-modern .module-accordion summary, .ui-modern .faq summary { font-weight: 500; line-height: 1.6; }
.ui-modern .module-accordion details[open], .ui-modern .faq details[open] { background: var(--green-soft); padding-inline: 20px; }
.ui-modern .module-accordion summary span { font-size: .75rem; font-weight: 500; margin-right: 8px; }
.ui-modern .facilitator-list article { border-radius: 12px; padding: 24px; }
.ui-modern .facilitator-list strong { font-weight: 500; }
.ui-modern .countdown-wrapper { background: var(--soft); }
.ui-modern .countdown-timer { border-radius: 12px; }
.ui-modern .time-blocks div { box-shadow: none; border-radius: 12px; }
.ui-modern .time-blocks span { font-weight: 500; }
.ui-modern .time-blocks small { font-size: .65rem; font-weight: 500; }

.ui-modern .contact-layout { grid-template-columns: .85fr 1.35fr; gap: 48px; }
.ui-modern .note-panel, .ui-modern .contact-aside { box-shadow: none; border-radius: 16px; padding: 32px; }
.ui-modern .contact-aside { background: #edf1e8; border-color: transparent; }
.ui-modern .contact-aside h2 { font-size: 1.65rem; line-height: 1.25; }
.ui-modern .contact-aside a { font-size: .9rem; font-weight: 500; overflow-wrap: anywhere; }
.ui-modern .contact-aside .btn { display: inline-flex; }
.ui-modern .contact-aside > .eyebrow { font-size: .65rem; }
.ui-modern .form-panel { border-radius: 16px; box-shadow: none; padding: 36px; gap: 24px; }
.ui-modern .form-grid { gap: 22px 20px; }
.ui-modern label { font-size: .82rem; font-weight: 500; gap: 9px; }
.ui-modern input, .ui-modern select, .ui-modern textarea { border-color: #d5ddd1; border-radius: 9px; padding: 14px; background: #fdfefa; font-size: .94rem; min-width: 0; }
.ui-modern input::placeholder, .ui-modern textarea::placeholder { color: #7b857c; opacity: 1; }
.ui-modern input:focus, .ui-modern select:focus, .ui-modern textarea:focus { border-color: var(--green); }
.ui-modern input[type="file"] { max-width: 100%; font-size: .82rem; }
.ui-modern input::file-selector-button { border: 0; background: var(--green-soft); color: var(--green-dark); border-radius: 6px; padding: 10px; margin-right: 10px; }
.ui-modern .payment-options { min-width: 0; border-radius: 12px; gap: 8px; }
.ui-modern .payment-options legend { font-size: .8rem; font-weight: 500; }
.ui-modern .payment-options label span { font-size: .8rem; border-radius: 8px; padding: 12px 6px; cursor: pointer; }
.ui-modern .payment-options input:focus-visible + span { outline: 3px solid #66926c; outline-offset: 3px; }
.ui-modern .price-note { border-radius: 12px; padding: 24px; }
.ui-modern .price-note strong { font-weight: 500; }
.ui-modern .consent-note { font-size: .78rem; }
.ui-modern .form-section-title { font-weight: 500; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.ui-modern .payment-box { background: var(--soft); border-color: var(--line); border-radius: 12px; }
.ui-modern .payment-method-item { border-color: var(--line); border-radius: 8px; }
.ui-modern button:disabled { opacity: .6; cursor: wait; }
.ui-modern .tag-cloud span { background: transparent; font-size: .85rem; font-weight: 500; padding: 10px 20px; }

.ui-modern .gallery-section { background: var(--navy); padding-block: 88px 72px; }
.ui-modern .gallery-section .section-title > span { color: #bed2ad; }
.ui-modern .gallery-section .section-title p { color: #c0cbbf; }
.ui-modern .gslide { box-shadow: none; border-radius: 12px; }
.ui-modern .gslide:hover { box-shadow: none; transform: none; }
.ui-modern .gslider-btn { box-shadow: none; }
.ui-modern .gdot.active { background: #c5d7b7; }
.ui-modern .cta-band { background: #e8eedf; color: var(--green-dark); padding: 76px 0; }
.ui-modern .cta-band h2 { font-size: clamp(1.9rem, 3.2vw, 2.8rem); line-height: 1.2; max-width: 760px; margin: 0 auto 18px; }
.ui-modern .cta-band p { color: #51604f; font-size: .95rem; }
.ui-modern .cta-band .btn-light { background: var(--green-dark); color: white; }
.ui-modern .footer-wave { display: none; }
.ui-modern .site-footer { padding: 64px 0 24px; background: var(--navy); }
.ui-modern .footer-grid { grid-template-columns: 1.3fr 1fr 1fr .8fr 1.2fr; gap: 30px; }
.ui-modern .footer-brand { display: flex; align-items: center; font-size: 1.05rem; }
.ui-modern .footer-brand img { background: white; border-radius: 50%; padding: 4px; filter: none; }
.ui-modern .site-footer .footer-brand span { color: white; font-size: 1.05rem; letter-spacing: .04em; }
.ui-modern .site-footer h2 { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 500; margin-bottom: 24px; }
.ui-modern .site-footer p, .ui-modern .site-footer span, .ui-modern .site-footer a { font-size: .78rem; line-height: 1.9; color: #c0ccbf; }
.ui-modern .site-footer a { margin-block: 12px; }
.ui-modern .site-footer a > i { margin-right: 8px; }
.ui-modern .newsletter-form label { font-weight: 400; font-size: .75rem; }
.ui-modern .newsletter-row input { min-width: 0; background: #203e32; border-color: #48604d; color: white; font-size: .75rem; padding: 12px; }
.ui-modern .newsletter-row input::placeholder { color: #b7c4b1; }
.ui-modern .newsletter-row button { flex-shrink: 0; background: #d6e1c5; color: var(--green-dark); border-radius: 8px; cursor: pointer; }
.ui-modern .social-links { gap: 12px; }
.ui-modern .social-links a { color: #c0ccbf !important; width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid #48604d; border-radius: 50%; font-size: .95rem !important; }
.ui-modern .social-links a > i { margin: 0; }
.ui-modern .social-links a:hover { color: white !important; border-color: #c0ccbf; }
.ui-modern .footer-bottom { border-color: #3c5142; margin-top: 48px; }
.ui-modern .footer-bottom p { font-size: .68rem; }
.ui-modern .fab-btn { width: 46px; height: 46px; box-shadow: 0 4px 16px rgba(24, 53, 39, .12); font-size: 1.2rem; }
.ui-modern .fab-whatsapp { background: var(--green-dark); }
.ui-modern .fab-whatsapp:hover { background: var(--green); }
.ui-modern .success-card { border-radius: 20px; }

@media (max-width: 1180px) {
  .ui-modern .desktop-nav { gap: 14px; }
  .ui-modern .nav-wrap { gap: 20px; }
  .ui-modern .brand { min-width: 190px; }
  .ui-modern .hero-grid { gap: 40px; }
  .ui-modern.page-treinamentos .trainings-hero-grid { grid-template-columns: 1fr !important; gap: 32px; }
  .ui-modern .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1050px) {
  .ui-modern .hero, .ui-modern .landing-hero { padding-block: 64px; }
  .ui-modern .hero-copy { max-width: 720px; }
  .ui-modern .hero-media img { height: 400px !important; border-radius: 64px 16px 16px; }
  .ui-modern .help-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ui-modern .contact-layout { grid-template-columns: 1fr; }
  .ui-modern .page-hero h1 { max-width: 780px; }
  .ui-modern .course-hero .hero-media img { height: auto !important; }
}
@media (max-width: 680px) {
  .ui-modern .container, .ui-modern.page-treinamentos main > section > .container { width: calc(100% - 40px) !important; }
  .ui-modern .nav-wrap { height: 72px !important; }
  .ui-modern .brand img { width: 36px !important; height: 36px !important; }
  .ui-modern .brand strong { font-size: 1.05rem !important; }
  .ui-modern .brand { min-width: 0; }
  .ui-modern .mobile-nav { max-height: calc(100dvh - 72px) !important; }
  .ui-modern .hero, .ui-modern .landing-hero { padding: 48px 0 !important; }
  .ui-modern .hero-grid { gap: 36px !important; }
  .ui-modern .hero-copy h1, .ui-modern .page-hero h1, .ui-modern.page-treinamentos .trainings-hero h1 { font-size: clamp(2rem, 8.2vw, 3rem) !important; line-height: 1.12 !important; overflow-wrap: normal; word-break: normal; margin: 22px 0; }
  .ui-modern .hero-copy p, .ui-modern .page-hero p { font-size: .94rem !important; }
  .ui-modern .eyebrow { font-size: .59rem; letter-spacing: .1em; }
  .ui-modern .hero-actions { margin-top: 26px; }
  .ui-modern .btn { padding: 14px 20px !important; font-size: .82rem !important; }
  .ui-modern .hero-media img { height: 300px !important; border-radius: 56px 12px 12px; }
  .ui-modern .hero-media figcaption { padding: 0 0 0 12px !important; margin-top: 16px; font-size: .72rem !important; border-radius: 0 !important; }
  .ui-modern .page-hero, .ui-modern .trainings-hero { padding: 40px 0 48px !important; }
  .ui-modern .section, .ui-modern .help-strip { padding-block: 60px !important; }
  .ui-modern .section-title h2, .ui-modern .split h2 { font-size: 1.85rem !important; line-height: 1.2 !important; }
  .ui-modern .help-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .ui-modern .help-grid a { padding: 24px 20px 24px 0; }
  .ui-modern .help-grid i { margin-bottom: 12px; }
  .ui-modern .help-grid span { max-width: none; }
  .ui-modern .course-body { padding: 24px !important; }
  .ui-modern .course-body h3 { font-size: 1.23rem !important; }
  .ui-modern .course-meta .price-badge { padding: 0 !important; font-size: 1.2rem !important; }
  .ui-modern .note-panel, .ui-modern .contact-aside, .ui-modern .form-panel { padding: 24px !important; }
  .ui-modern .form-grid { gap: 20px !important; }
  .ui-modern input, .ui-modern select, .ui-modern textarea { font-size: 1rem !important; }
  .ui-modern .payment-options { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ui-modern .cta-band { padding-block: 56px !important; }
  .ui-modern .cta-band h2 { font-size: 1.9rem !important; }
  .ui-modern .site-footer { padding-top: 48px; }
  .ui-modern .footer-grid { gap: 30px !important; }
  .ui-modern .site-footer h2 { margin-bottom: 14px; }
  .ui-modern .site-footer p, .ui-modern .site-footer a, .ui-modern .site-footer span { font-size: .85rem; }
  .ui-modern .footer-bottom { text-align: left; margin-top: 32px; }
  .ui-modern .footer-bottom p { font-size: .7rem !important; }
  .ui-modern .time-blocks { gap: 8px; }
  .ui-modern .time-blocks div { min-width: 58px; padding: 12px 8px; }
  .ui-modern .time-blocks span { font-size: 1.7rem; }
  .ui-modern .time-blocks small { font-size: .6rem; }
  .ui-modern .course-hero .hero-media img { height: auto !important; max-height: none !important; }
  .ui-modern .mobile-sticky-cta { border-radius: 999px; font-size: .85rem; background: var(--green-dark); }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.ui-modern) { scroll-behavior: auto; }
  .ui-modern *, .ui-modern *::before, .ui-modern *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
