/* Importar spp-tokens.css antes deste arquivo. Classes opt-in; sem reset global. */
.spp-scope{font-family:var(--spp-font-ui);font-size:var(--spp-text-base);line-height:var(--spp-leading);color:var(--spp-ink);background:var(--spp-paper);font-synthesis:none}
.spp-scope *, .spp-scope *::before,.spp-scope *::after{box-sizing:border-box}
.spp-title{font-family:var(--spp-font-editorial);font-weight:700;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
.spp-number{font-variant-numeric:tabular-nums;letter-spacing:0}
.spp-muted{color:var(--spp-muted)}
.spp-icon{display:inline-block;flex:0 0 auto;width:var(--spp-icon);height:var(--spp-icon);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.spp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:var(--spp-target);padding:10px 18px;border:1px solid transparent;border-radius:var(--spp-radius-sm);font:700 1rem/1.4 var(--spp-font-ui);text-decoration:none;text-align:center;cursor:pointer;background:var(--spp-action);color:var(--spp-on-action);transition:background-color var(--spp-duration) var(--spp-ease),border-color var(--spp-duration) var(--spp-ease);touch-action:manipulation}
.spp-btn:hover:not(:disabled):not([aria-disabled='true']){background:var(--spp-action-hover)}
.spp-btn:active:not(:disabled):not([aria-disabled='true']){background:var(--spp-action-active)}
.spp-btn--secondary{background:var(--spp-surface);color:var(--spp-ink);border-color:var(--spp-border-control)}
.spp-btn--secondary:hover:not(:disabled):not([aria-disabled='true']){background:var(--spp-surface-subtle)}
.spp-btn--secondary:active:not(:disabled):not([aria-disabled='true']){background:var(--spp-paper)}
.spp-btn--danger{background:var(--spp-danger);color:var(--spp-surface)}
.spp-btn--danger:hover:not(:disabled):not([aria-disabled='true']){background:var(--spp-danger);box-shadow:inset 0 0 0 2px currentColor}
.spp-btn--icon{inline-size:var(--spp-target);padding:9px}
.spp-btn:disabled,.spp-btn[aria-disabled='true']{background:var(--spp-disabled-bg);color:var(--spp-disabled-ink);border-color:var(--spp-border);cursor:not-allowed}
.spp-scope :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--spp-focus);outline-offset:3px;box-shadow:0 0 0 2px var(--spp-focus-gap)}
.spp-btn[aria-busy='true']{cursor:progress}
.spp-status{display:inline-flex;align-items:center;gap:6px;max-inline-size:100%;padding:5px 9px;font:400 .875rem/1.4 var(--spp-font-ui);border:1px solid currentColor;border-radius:var(--spp-radius-sm);color:var(--spp-muted);background:var(--spp-surface-subtle)}
.spp-status .spp-icon{width:18px;height:18px}
.spp-status--success{color:var(--spp-success);background:var(--spp-success-bg)}
.spp-status--info{color:var(--spp-info);background:var(--spp-info-bg)}
.spp-status--warning{color:var(--spp-warning);background:var(--spp-warning-bg)}
.spp-status--danger{color:var(--spp-danger);background:var(--spp-danger-bg)}
.spp-status--offline{color:var(--spp-offline);background:var(--spp-offline-bg)}
.spp-panel{padding:var(--spp-space-6);border:1px solid var(--spp-border);border-radius:var(--spp-radius-md);background:var(--spp-surface)}
.spp-field{display:grid;gap:6px;max-inline-size:32rem}
.spp-field label{font-weight:700}
.spp-input{width:100%;min-block-size:var(--spp-target);padding:10px 12px;font:400 1rem/1.5 var(--spp-font-ui);color:var(--spp-ink);background:var(--spp-surface);border:1px solid var(--spp-border-control);border-radius:var(--spp-radius-sm)}
.spp-input[aria-invalid='true']{border:2px solid var(--spp-danger)}
.spp-help{margin:0;color:var(--spp-muted);font-size:var(--spp-text-sm)}
.spp-error-text{color:var(--spp-danger);font-size:var(--spp-text-sm)}
.spp-link{color:var(--spp-info);text-decoration:underline;text-underline-offset:3px}
.spp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.spp-skip{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:100;padding:12px;background:var(--spp-surface);color:var(--spp-ink);transform:translateY(-180%)}
.spp-skip:focus{transform:translateY(0)}
.spp-spin{animation:spp-spin 1.1s linear infinite}
@keyframes spp-spin{to{transform:rotate(360deg)}}
.spp-hero{position:relative;margin:0;overflow:hidden;border-radius:var(--spp-radius-md);background:#173D2A}
.spp-hero>img{display:block;width:100%;height:360px;object-fit:cover;object-position:70% 50%}
.spp-hero-caption{position:absolute;left:24px;bottom:24px;max-width:calc(100% - 48px);padding:16px 20px;border-radius:4px;color:#FCF7EA;background:#173D2A}
.spp-hero-caption .spp-title{margin:0 0 8px;font-size:clamp(1.5rem,3vw,2rem)}
.spp-hero-caption p{margin:0;font-size:.875rem}
@media(max-width:700px){.spp-hero>img{height:280px;object-position:72% 50%}.spp-hero-caption{position:static;max-width:none;border-radius:0}}
@media(prefers-reduced-motion:reduce){.spp-scope *,.spp-scope *::before,.spp-scope *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[data-spp-reduced-motion='true'] .spp-scope *,[data-spp-reduced-motion='true'] .spp-scope *::before,[data-spp-reduced-motion='true'] .spp-scope *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(forced-colors:active){.spp-btn,.spp-status,.spp-input{border:1px solid ButtonText}.spp-scope :focus-visible{outline:3px solid Highlight;box-shadow:none}.spp-btn:disabled{color:GrayText;border-color:GrayText}}
