/* HOME 23/09/2026. Composição isolada; tokens e assets institucionais preservados. */
.home { background:var(--paper); }
.home .header { position:sticky; top:0; z-index:5; min-height:96px; background:var(--paper); box-shadow:0 0 0 100vmax var(--paper); clip-path:inset(0 -100vmax); }
.home .navigation { gap:24px; }
.home .navigation a { font-size:.88rem; }
.home .navigation .button { margin-left:4px; }
.op-mobile-cta { display:none; }
.home main { scroll-margin-top:115px; }
.home main section[id] { scroll-margin-top:116px; }
.home main h1,.home main h2,.home main h3 { font-family:"DM Sans",sans-serif; font-weight:600; }
.home main h2 { font-size:clamp(1.85rem,2.9vw,2.65rem); line-height:1.17; letter-spacing:-.035em; text-wrap:balance; }
.home main h3 { letter-spacing:-.02em; }
.home main strong { font-weight:600; }
.home .button { font-size:.94rem; min-height:48px; padding:13px 23px; }
.home .op-link { color:var(--blue); font-size:.94rem; font-weight:500; text-decoration-color:var(--orange); text-underline-offset:6px; display:inline-flex; align-items:center; min-height:44px; }
.op-section { padding-block:68px; }
.op-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:70px; align-items:end; margin-bottom:34px; }
.op-heading h2,.op-heading p { margin-bottom:0; }
.op-heading p { max-width:48ch; }
.op-hero { display:grid; grid-template-columns:1.13fr 1fr; gap:64px; align-items:center; padding-block:44px 64px; }
.op-intro { color:var(--blue); font-size:.9rem; font-weight:500; margin-bottom:22px; }
.op-intro::before { content:""; display:inline-block; width:18px; height:3px; background:var(--orange); margin-right:10px; vertical-align:middle; }
.home .op-hero h1 { font-size:clamp(2.6rem,3.7vw,3.35rem); line-height:1.12; letter-spacing:-.04em; margin-bottom:25px; }
.op-lead { font-size:1.09rem; line-height:1.7; max-width:50ch; }
.op-actions { display:flex; gap:16px 23px; flex-wrap:wrap; align-items:center; margin-top:28px; }
.op-hero-note { font-size:.8rem; margin:20px 0 0; }
.op-today { margin:0; background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 45px -28px #10496155; overflow:hidden; }
.op-today-head { background:var(--blue); padding:21px 25px; display:flex; justify-content:space-between; gap:12px; align-items:center; color:var(--white); }
.op-panel-title { font-size:1rem; font-weight:500; }
.op-example { font-size:.7rem; line-height:1.5; }
.op-today-list { list-style:none; padding:0 25px; margin:0; }
.op-today-list li { display:flex; gap:15px; padding:20px 0; border-bottom:1px solid var(--line); }
.op-today-list li:last-child { border:0; }
.op-area-icon { width:36px; height:36px; flex:0 0 36px; background:var(--soft); border-radius:7px; display:grid; place-items:center; margin-top:3px; }
.op-area-icon svg { width:22px; height:22px; fill:none; stroke:var(--blue); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.op-area-label { display:block; font-size:.75rem; color:var(--muted); margin-bottom:3px; }
.op-today-list strong { display:block; font-size:.98rem; line-height:1.5; margin-bottom:8px; }
.op-state { display:inline-block; width:fit-content; padding:3px 8px; border-radius:4px; background:var(--soft); color:var(--blue); font-size:.69rem; line-height:1.5; }
.op-state-wait { background:var(--canvas); color:var(--ink); border-left:2px solid var(--orange); }
.op-today-foot { display:flex; align-items:center; justify-content:space-between; padding:12px 25px; background:var(--soft); font-size:.82rem; }
.op-today-foot strong { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; background:var(--blue); color:var(--white); }
.op-today figcaption { padding:10px 25px; font-size:.7rem; color:var(--muted); }
.op-problems { background:var(--canvas); }
.op-problem-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:24px 86px; }
.op-problem-grid h2 { max-width:24ch; }
.op-problem-grid>div>p { margin-bottom:0; max-width:44ch; }
.op-problem-list { margin:0; padding:0; list-style:none; }
.op-problem-list li { position:relative; padding:10px 0 10px 20px; border-bottom:1px solid var(--cream-line); font-size:.96rem; }
.op-problem-list li::before { content:""; position:absolute; top:21px; left:0; width:5px; height:5px; border-radius:50%; background:var(--orange); }
.op-problem-close { grid-column:1/-1; max-width:none; margin:10px 0 0; padding-top:22px; border-top:1px solid var(--cream-line); font-size:1.12rem; }
.op-problem-close strong { color:var(--ink); }
.op-position { background:var(--blue); color:var(--white); }
.op-two-col { display:grid; grid-template-columns:1fr 1.1fr; gap:86px; }
.op-position h2 { max-width:22ch; }
.op-position p { color:#c9d6dd; }
.op-position .op-lead-small { font-size:1.11rem; color:var(--white); }
.op-responsibility-line { display:flex; gap:28px; border-top:1px solid #ffffff35; padding-top:20px; margin-top:25px; font-size:.82rem; }
.op-responsibility-line strong { display:block; color:var(--orange); margin-bottom:3px; }
.op-solutions { border-top:1px solid var(--line); }
.op-solution { display:grid; grid-template-columns:1fr 1.45fr; gap:60px; padding:29px 0; border-bottom:1px solid var(--line); }
.op-solution:last-child { padding-bottom:0; border-bottom:0; }
.op-solution h3 { font-size:1.6rem; margin:0 0 7px; color:var(--blue); }
.op-solution-name>span { color:var(--muted); font-size:.85rem; }
.op-solution p { margin-bottom:10px; }
.op-addon { border-left:2px solid var(--orange); padding-left:14px; font-size:.88rem; }
.op-addon strong { display:block; color:var(--ink); }
.op-comparison { background:var(--soft); }
.op-comparison .op-heading h2 { max-width:25ch; }
.op-compare-grid { display:grid; grid-template-columns:1fr 1fr; background:var(--paper); }
.op-compare-grid>div { padding:32px 38px; }
.op-compare-grid h3 { font-size:1.3rem; margin-bottom:8px; }
.op-compare-grid p { font-size:.9rem; margin-bottom:16px; }
.op-compare-grid ul { margin:0; padding-left:20px; }
.op-compare-grid li { padding-block:5px; font-size:.95rem; }
.op-internal { color:var(--muted); }
.op-shared { border-left:3px solid var(--orange); color:var(--blue); }
.op-shared li::marker { color:var(--orange); }
.home .op-caption { font-size:.78rem; color:var(--muted); margin-top:19px; margin-bottom:0; max-width:100ch; line-height:1.6; }
.op-flow { margin:40px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.op-flow li { padding:0 22px 0 0; position:relative; }
.op-flow li::before { content:""; position:absolute; top:17px; left:0; right:0; height:1px; background:var(--line); }
.op-flow li:last-child::before { display:none; }
.op-flow li>span { position:relative; display:grid; place-items:center; width:36px; height:36px; background:var(--paper); border:1px solid var(--line); border-radius:50%; color:var(--blue); font-size:.82rem; font-weight:500; margin-bottom:19px; }
.op-flow li:first-child>span { background:var(--blue); border-color:var(--blue); color:var(--white); }
.op-flow h3 { font-size:1.06rem; line-height:1.35; min-height:2.7em; margin-bottom:10px; }
.op-flow p { font-size:.86rem; line-height:1.65; margin:0; }
.op-pricing { background:var(--canvas); padding-block:44px; }
.op-pricing-grid { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.home .op-pricing h2 { font-size:1.85rem; max-width:36ch; }
.op-pricing p { font-size:.94rem; margin:0; max-width:72ch; }
.op-pricing .button { flex-shrink:0; }
.op-control-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.op-control-grid article { border-top:2px solid var(--line); padding-top:24px; }
.op-control-grid article:last-child { border-top-color:var(--orange); }
.op-control-grid h3 { font-size:1.1rem; color:var(--blue); margin-bottom:16px; }
.op-control-grid .op-verbs { font-size:1.3rem; color:var(--ink); font-weight:500; margin-bottom:12px; }
.op-control-grid p:last-child { font-size:.95rem; margin:0; }
.op-technology { background:var(--soft); }
.op-principles { padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:10px 26px; margin:0 0 30px; font-size:.8rem; color:var(--blue); }
.op-principles li::before { content:"✓"; margin-right:7px; }
.op-portal { margin:0; border:1px solid var(--line); border-radius:10px; background:var(--paper); overflow:hidden; box-shadow:0 15px 35px -30px var(--blue); }
.op-portal-top { background:var(--blue); color:var(--white); padding:17px 27px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.op-portal-name { font-weight:600; font-size:1rem; }
.op-portal-name>span { display:inline-block; font-weight:400; font-size:.78rem; border-left:1px solid #ffffff45; padding-left:16px; margin-left:16px; }
.op-portal-body { padding:28px; }
.op-portal-heading { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-bottom:25px; }
.op-portal-heading h3 { font-size:1.45rem; margin:0 0 5px; }
.op-portal-heading p { font-size:.86rem; margin:0; }
.op-completed { font-size:.76rem; color:var(--blue); display:flex; align-items:center; gap:12px; max-width:185px; line-height:1.5; }
.op-completed strong { font-size:1.9rem; font-weight:500; }
.op-portal-grid { display:grid; grid-template-columns:1.9fr 1fr; gap:28px; }
.op-worklist-head,.op-work { display:grid; grid-template-columns:1.4fr 1fr; gap:16px; }
.op-worklist-head { padding:8px 0; border-bottom:1px solid var(--line); font-size:.68rem; color:var(--muted); }
.op-work { padding:17px 0; border-bottom:1px solid var(--line); align-items:center; }
.op-work>div { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.op-work strong { font-size:.85rem; line-height:1.45; }
.op-work>div>span:not(.op-state) { font-size:.72rem; color:var(--muted); }
.op-work .op-owner { color:var(--blue); font-weight:500; }
.op-portal-pending { display:flex; flex-wrap:wrap; gap:5px 15px; padding-top:16px; font-size:.75rem; }
.op-portal-pending strong { color:var(--blue); }
.op-portal-pending span { color:var(--muted); }
.op-calendar { background:var(--soft); padding:21px; }
.op-calendar h4 { font-size:.9rem; font-weight:500; margin:0 0 22px; }
.op-calendar>div { display:flex; align-items:flex-start; gap:16px; margin-bottom:25px; }
.op-days { text-align:center; min-width:42px; font-size:.65rem; color:var(--muted); line-height:1.4; }
.op-days strong { display:block; font-size:1.5rem; color:var(--blue); }
.op-calendar>div>p { font-size:.75rem; line-height:1.6; margin:0; }
.op-calendar p strong { display:block; color:var(--ink); margin-bottom:4px; font-size:.81rem; }
.op-calendar .op-calendar-note { font-size:.7rem; margin:0; border-top:1px solid var(--line); padding-top:13px; }
.op-portal figcaption { padding:12px 28px; border-top:1px solid var(--line); font-size:.7rem; color:var(--muted); }
.op-fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.op-fit-grid h3 { font-size:1.06rem; margin-bottom:20px; }
.op-fit-grid>div:first-child h3 { color:var(--blue); }
.op-fit-grid ul { list-style:none; padding:0; margin:0; }
.op-fit-grid li { padding:8px 0 8px 24px; position:relative; font-size:.94rem; }
.op-fit-grid li::before { content:"✓"; position:absolute; left:0; color:var(--blue); }
.op-fit-grid>div:last-child li { color:var(--muted); }
.op-fit-grid>div:last-child li::before { content:"—"; color:var(--muted); }
.op-questions { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; padding-block:0 62px; }
.home .op-questions h2 { font-size:1.6rem; }
.op-questions details { border-top:1px solid var(--line); padding-block:16px; }
.op-questions summary { cursor:pointer; font-weight:500; min-height:30px; }
.op-questions p { font-size:.92rem; margin:12px 0 0; }
.op-final { background:var(--blue); color:var(--white); padding-block:58px; }
.op-final-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:80px; }
.op-final h2 { max-width:26ch; }
.op-final p { color:#c9d6dd; }
.op-final .op-final-note { font-size:.82rem; max-width:49ch; margin-bottom:0; }
.op-final-note a { color:var(--white); }
.op-final .button { background:var(--white); color:var(--blue); border-color:var(--white); }
.op-final .button:hover { background:var(--soft); }
.op-diagnosis { min-width:0; }
.op-diagnosis>details>summary { cursor:pointer; width:100%; padding:18px; }
.op-diagnosis>details>summary::marker { content:""; }
.op-diagnosis>details>summary::-webkit-details-marker { display:none; }
.op-diagnosis-note { font-size:.77rem; text-align:center; margin:14px 0 0; }
.op-questionnaire { margin-top:18px; border-top:1px solid #ffffff40; padding-top:20px; }
.op-questionnaire fieldset { padding:0; margin:0 0 18px; border:0; min-width:0; }
.op-questionnaire legend,.op-field { font-size:.87rem; font-weight:500; }
.op-questionnaire legend { margin-bottom:10px; }
.op-questionnaire fieldset label { display:flex; gap:10px; align-items:center; min-height:44px; font-size:.86rem; font-weight:400; }
.op-questionnaire input { width:18px; height:18px; accent-color:var(--orange); flex-shrink:0; }
.op-field { display:block; margin-bottom:20px; }
.op-field select { display:block; width:100%; min-height:46px; font:inherit; font-size:1rem; margin-top:9px; padding:10px; border:1px solid var(--line); border-radius:5px; background:var(--paper); color:var(--ink); }
.op-questionnaire .button { width:100%; }
.op-questionnaire .op-caption { color:#c9d6dd; margin-top:12px; }
.op-email-fallback { margin-top:15px; font-size:.8rem; }
.op-email-fallback summary { cursor:pointer; padding-block:9px; }
.op-email-fallback label { display:block; margin:8px 0; }
.op-email-fallback textarea { width:100%; padding:12px; font:inherit; color:var(--ink); background:var(--paper); resize:vertical; border:1px solid var(--line); border-radius:5px; }
.home input:focus-visible,.home select:focus-visible,.home textarea:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
.home .site-footer { margin-top:0; }
@media(max-width:1100px) {
  .home .navigation { gap:15px; }
  .home .navigation .button { padding-inline:17px; }
  .op-hero { gap:35px; }
  .home .op-hero h1 { font-size:2.8rem; }
  .op-heading,.op-two-col,.op-problem-grid,.op-final-grid { column-gap:44px; }
  .op-today-head { flex-wrap:wrap; gap:4px 12px; }
  .op-pricing-grid { gap:26px; }
}
@media(min-width:761px) and (max-width:930px) {
  .home .header { flex-wrap:wrap; padding-block:14px; gap:12px; }
  .home .navigation { flex:1; justify-content:flex-end; flex-wrap:wrap; }
  .op-hero { grid-template-columns:1fr 1fr; gap:26px; }
  .home .op-hero h1 { font-size:2.45rem; }
  .op-today-list { padding-inline:18px; }
  .op-today-list li { gap:10px; }
  .op-today-list strong { font-size:.9rem; }
  .op-today-head { padding:17px 18px; }
  .op-flow { grid-template-columns:repeat(3,1fr); gap:26px 0; }
  .op-flow li:nth-child(3)::before { display:none; }
  .op-portal-grid { grid-template-columns:1fr; }
  .op-calendar { display:grid; grid-template-columns:1fr 1fr; gap:10px 25px; }
  .op-calendar h4,.op-calendar-note { grid-column:1/-1; }
}
@media(max-width:760px) {
  .home .header { min-height:84px; padding-block:13px; }
  .home .header .brand { width:86px; }
  .home .header { column-gap:12px; }
  .home .header .brand { order:0; }
  .home .op-mobile-cta { order:1; display:flex; align-items:center; justify-content:center; min-height:44px; max-width:145px; margin-left:auto; color:var(--blue); font-size:.76rem; font-weight:600; text-align:center; text-decoration-color:var(--orange); line-height:1.4; }
  .home .menu-toggle { order:2; padding-inline:12px; font-size:.8rem; }
  .home .navigation { order:3; }
  .home .navigation { align-items:stretch; gap:0; }
  .home .navigation>a { width:100%; min-height:44px; padding-block:10px; }
  .home .navigation .button { margin:10px 0 0; }
  .home main section[id] { scroll-margin-top:100px; }
  .home main h2 { font-size:1.9rem; }
  .op-section { padding-block:46px; }
  .op-heading,.op-two-col,.op-problem-grid,.op-final-grid,.op-solution,.op-control-grid,.op-fit-grid,.op-questions { grid-template-columns:1fr; gap:24px; }
  .op-heading { margin-bottom:27px; }
  .op-heading p { max-width:65ch; }
  .op-hero { grid-template-columns:1fr; gap:32px; padding:29px 0 40px; }
  .home .op-hero h1 { font-size:clamp(2.1rem,7.7vw,3rem); line-height:1.13; max-width:21ch; margin-bottom:20px; }
  .op-intro { margin-bottom:17px; font-size:.8rem; }
  .op-lead { font-size:1rem; margin-bottom:0; }
  .op-actions { gap:10px 20px; margin-top:24px; }
  .op-hero-note { margin-top:13px; font-size:.76rem; }
  .op-today { max-width:540px; width:100%; margin-inline:auto; }
  .op-today-head { padding:17px 20px; }
  .op-today-list { padding-inline:20px; }
  .op-today-list li { padding-block:16px; }
  .op-today-list strong { font-size:.94rem; }
  .op-today-foot { padding-inline:20px; }
  .op-problem-grid h2 { max-width:none; }
  .op-problem-close { margin-top:0; font-size:1rem; }
  .op-problem-close strong { display:block; margin-top:4px; }
  .op-position h2 { margin-bottom:0; }
  .op-responsibility-line { gap:20px; flex-wrap:wrap; }
  .op-solution { gap:15px; padding-block:26px; }
  .op-solution h3 { font-size:1.45rem; }
  .op-compare-grid { grid-template-columns:1fr; }
  .op-compare-grid>div { padding:25px; }
  .op-shared { border-left:0; border-top:3px solid var(--orange); }
  .op-flow { grid-template-columns:1fr; gap:0; margin-top:25px; }
  .op-flow li { padding:0 0 26px 56px; }
  .op-flow li>span { position:absolute; left:0; top:0; }
  .op-flow li::before { top:0; bottom:0; width:1px; height:auto; left:17px; right:auto; }
  .op-flow h3 { min-height:0; padding-top:6px; margin-bottom:8px; font-size:1.12rem; }
  .op-flow p { font-size:.93rem; }
  .op-flow li:last-child { padding-bottom:0; }
  .op-pricing { padding-block:36px; }
  .op-pricing-grid { flex-direction:column; align-items:flex-start; gap:22px; }
  .home .op-pricing h2 { font-size:1.8rem; }
  .op-control-grid,.op-fit-grid { gap:30px; }
  .op-control-grid .op-verbs { font-size:1.15rem; }
  .op-principles { gap:9px 18px; font-size:.78rem; }
  .op-portal-top { flex-wrap:wrap; padding:16px 19px; gap:4px; }
  .op-portal-name { width:100%; }
  .op-portal-name>span { font-size:.7rem; margin-left:10px; padding-left:10px; }
  .op-portal-body { padding:20px; }
  .op-portal-heading { align-items:flex-start; flex-direction:column; gap:15px; }
  .op-completed { max-width:none; }
  .op-completed strong { font-size:1.45rem; }
  .op-portal-grid { grid-template-columns:1fr; gap:22px; }
  .op-worklist-head { display:none; }
  .op-work { grid-template-columns:1fr; gap:10px; }
  .op-work>div:last-child { flex-direction:row; flex-wrap:wrap; align-items:center; gap:9px; }
  .op-work strong { font-size:.92rem; }
  .op-portal-pending { flex-direction:column; }
  .op-portal figcaption { padding:12px 20px; }
  .op-calendar { padding:19px; }
  .op-questions { padding-bottom:42px; }
  .op-questions h2 { margin:0; }
  .op-final { padding-block:42px; }
  .op-final h2 { max-width:none; }
  .op-diagnosis { margin-top:8px; }
  .home .footer-email strong { overflow-wrap:anywhere; }
}
@media(max-width:360px) {
  .home .wrap { width:calc(100% - 32px); }
  .home .header { column-gap:8px; }
  .home .header .brand { width:72px; }
  .home .op-mobile-cta { max-width:112px; }
  .home .menu-toggle { padding-inline:9px; }
  .home .op-hero h1 { font-size:2rem; }
  .op-today-list { padding-inline:14px; }
  .op-today-list li { gap:10px; }
  .op-area-icon { width:30px; height:30px; flex-basis:30px; }
  .op-today-head,.op-today-foot { padding-inline:14px; }
  .op-portal-body { padding:16px; }
}
