/* Rodada 17: peças comuns de /soberania/ e /onsite/ (seletor de caminho, comparação, controle, acordeões). */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.s17-sec h2{margin-top:6px}
.s17-sec .w25-lead{margin-bottom:22px}
#perimetro [data-perimetro]{margin-top:8px}

/* seletor de 2 caminhos */
.s17-sel{display:inline-grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin:8px 0 18px;border:1px solid var(--line-exec,rgba(255,255,255,.08));border-radius:14px;background:var(--bg-1,#0A0E14);max-width:100%}
.s17-sel button{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 16px;border:1px solid transparent;border-radius:10px;background:none;color:#a9b8c8;cursor:pointer;text-align:left;font:inherit}
.s17-sel button svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.s17-sel button b{display:block;font:600 15px var(--f-display,Sora,sans-serif);color:inherit}
.s17-sel button small{display:block;font-size:12.5px;line-height:1.3}
.s17-sel button[aria-checked="true"]{background:var(--bg-3,#172131);border-color:rgba(52,195,240,.45);color:#fff}
.s17-sel button[aria-checked="true"] svg{color:var(--cyan,#34C3F0)}
.s17-sel button:focus-visible{outline:2px solid var(--cyan,#34C3F0);outline-offset:2px}

/* comparação lado a lado */
.s17-vs{display:grid;border:1px solid var(--line-exec,rgba(255,255,255,.08));border-radius:16px;overflow:hidden;background:var(--bg-1,#0A0E14)}
.s17-vs-row{display:grid;grid-template-columns:minmax(150px,.7fr) 1fr 1fr;border-top:1px solid var(--line-exec,rgba(255,255,255,.08))}
.s17-vs-row:first-child{border-top:0}
.s17-vs-row>*{padding:13px 16px;font-size:14.5px;line-height:1.5;min-width:0}
.s17-vs-row>b{font:600 13px var(--f-mono,monospace);letter-spacing:.03em;color:#a9b8c8;text-transform:uppercase}
.s17-vs-head>span{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.s17-vs-head b{font:600 16px var(--f-display,Sora,sans-serif);color:#fff}
.s17-vs-head small{flex-basis:100%;font-size:12.5px;color:#a9b8c8}
.s17-vs-head svg{width:20px;height:20px;fill:none;stroke:var(--cyan,#34C3F0);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.s17-c-cloud,.s17-c-onsite{color:#d6e2ee;transition:background .25s,color .25s}
.s17-vs-wrap[data-sel="cloud"] .s17-c-cloud,.s17-vs-wrap[data-sel="onsite"] .s17-c-onsite{background:rgba(27,157,224,.1);color:#fff}
.s17-vs-wrap[data-sel="cloud"] .s17-vs-head .s17-c-cloud,.s17-vs-wrap[data-sel="onsite"] .s17-vs-head .s17-c-onsite{box-shadow:inset 0 3px 0 var(--cyan,#34C3F0)}
.s17-links{margin:16px 0 0}

/* Rodada 18: o que fica no perímetro x o que passa pelo Teams/Google (/soberania/#trabalho-e-perimetro) */
.s17-wk{margin:28px 0 0;padding:20px;border:1px solid var(--line-exec,rgba(255,255,255,.08));border-radius:16px;background:var(--bg-1,#0A0E14);scroll-margin-top:96px}
.s17-wk>.w25-kicker{display:block}
.s17-wk>h3{margin:6px 0 0;font:600 19px/1.3 var(--f-display,Sora,sans-serif);color:#fff}
.s17-wk>.s17-note{max-width:86ch}
.s17-io.s17-wk-io{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}
.s17-io>.s17-wk-ar{display:flex;align-items:center;justify-content:center;width:28px;padding:0;border:0;border-radius:0;background:none}
.s17-wk-ar i{display:block;width:100%;border-top:2px dashed #a9b8c8;position:relative}
.s17-wk-ar i::after{content:"";position:absolute;right:-1px;top:-6px;width:8px;height:8px;border-right:2px solid #a9b8c8;border-top:2px solid #a9b8c8;transform:rotate(45deg)}
@media (max-width:820px){.s17-io.s17-wk-io{grid-template-columns:1fr}.s17-io>.s17-wk-ar{width:auto;height:22px}.s17-wk-ar i{width:0;height:100%;border-top:0;border-left:2px dashed #a9b8c8}.s17-wk-ar i::after{right:auto;left:-6px;top:auto;bottom:0;transform:rotate(135deg)}}
@media (max-width:560px){.s17-wk{padding:16px 14px}}
@media (max-width:720px){
  .s17-sel{display:grid;width:100%}
  .s17-sel button{padding:8px 10px}
  .s17-vs-row{grid-template-columns:1fr}
  .s17-vs-row>b{padding-bottom:0}
  .s17-vs-head>span:first-child{display:none}
  .s17-vs-wrap[data-sel="cloud"] .s17-c-onsite,.s17-vs-wrap[data-sel="onsite"] .s17-c-cloud{display:none}
  .s17-vs-wrap .s17-c-cloud,.s17-vs-wrap .s17-c-onsite{background:none!important}
}

/* o que é controle */
.s17-ctrl{list-style:none;margin:22px 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.s17-ctrl li{display:flex;gap:12px;padding:14px 16px;border:1px solid var(--line-exec,rgba(255,255,255,.08));border-radius:14px;background:var(--bg-2,#10161F)}
.s17-ctrl li>div{flex:1;min-width:0}
.s17-ctrl i{font:600 12px var(--f-mono,monospace);font-style:normal;color:var(--cyan,#34C3F0);padding-top:3px}
.s17-ctrl b{display:block;font:600 15px var(--f-display,Sora,sans-serif);color:#fff;margin-bottom:4px}
.s17-ctrl p{margin:0;font-size:14px;line-height:1.5;color:#b9c7d5}
.s17-mini{color:var(--cyan,#34C3F0);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* acordeões: o conteúdo técnico fica um clique abaixo */
.s17-accs{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:18px}
.s17-acc{min-width:0}
.s17-acc{border:1px solid var(--line-exec,rgba(255,255,255,.08));border-radius:14px;background:var(--bg-1,#0A0E14)}
.s17-acc>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:14px 18px;cursor:pointer;list-style:none;font:600 16px/1.35 var(--f-display,Sora,sans-serif);color:#fff}
.s17-acc>summary::-webkit-details-marker{display:none}
.s17-acc>summary::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid var(--cyan,#34C3F0);border-bottom:2px solid var(--cyan,#34C3F0);transform:rotate(45deg);margin-top:-4px}
.s17-acc[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.s17-acc>summary:focus-visible{outline:2px solid var(--cyan,#34C3F0);outline-offset:2px;border-radius:14px}
.s17-acc-b{padding:0 18px 18px}
.s17-acc-b>section,.s17-acc-b>.section,.s17-acc-b>section.w39{padding:8px 0 4px!important;margin:0!important;background:none!important;border:0!important;min-height:0!important}
.s17-acc-b .container{padding-left:0!important;padding-right:0!important;max-width:none!important;width:auto!important}
@media (max-width:560px){.s17-acc>summary{font-size:15px;padding:12px 14px}.s17-acc-b{padding:0 12px 14px}}
@media (prefers-reduced-motion:reduce){.s17-c-cloud,.s17-c-onsite{transition:none}}
@media (max-width:420px){.s17-sel small{display:none}}

/* /onsite/: para quem, dentro × fora, requisitos */
.s17-lead{max-width:780px;color:#b9c7d5;font-size:17px;line-height:1.6;margin:10px 0 22px}
.s17-cards{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.s17-cards li{padding:18px;border:1px solid var(--line-exec,rgba(255,255,255,.08));border-radius:16px;background:var(--bg-2,#10161F)}
.s17-cards b{display:block;font:600 12px var(--f-mono,monospace);color:var(--cyan,#34C3F0);margin-bottom:8px}
.s17-cards strong{display:block;font:600 17px/1.3 var(--f-display,Sora,sans-serif);color:#fff;margin-bottom:6px}
.s17-cards p{margin:0;font-size:14.5px;line-height:1.55;color:#b9c7d5}
.s17-io{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 0}
.s17-io>div{padding:18px 20px;border:1px solid var(--line-exec,rgba(255,255,255,.08));border-radius:16px;background:var(--bg-2,#10161F);min-width:0}
.s17-io h3{margin:0 0 10px;font:600 17px/1.3 var(--f-display,Sora,sans-serif);color:#fff}
.s17-io-in{border-color:rgba(52,195,240,.45)!important}
.s17-ok,.s17-tel{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.s17-ok li,.s17-tel li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.5;color:#d6e2ee}
.s17-ok li::before{content:"";position:absolute;left:3px;top:5px;width:10px;height:6px;border-left:2px solid var(--cyan,#34C3F0);border-bottom:2px solid var(--cyan,#34C3F0);transform:rotate(-45deg)}
.s17-tel li::before{content:"";position:absolute;left:2px;top:9px;width:12px;border-top:2px dashed #a9b8c8}
.s17-note{margin:12px 0 0;font-size:14px;line-height:1.5;color:#a9b8c8}
#arquitetura [data-perimetro]{margin:6px 0 4px}
#requisitos .s17-accs{margin-top:22px}
@media (max-width:820px){.s17-cards,.s17-io{grid-template-columns:1fr}}
