/* Shared shell styles for grupo pages */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Brand */
  --primary:#5DD39C;
  --primary-light:#CEF2E1;
  --black:#000000;
  --dark-grey:#7C7C7C;
  --grey:#EBEBEB;
  --light-grey:#F4F4F4;
  --white:#FFFFFF;
  --content:1120px;
  --pill:48px;
  --t:all ease 0.3s;
  /* Fragment CSS variables */
  --font-sans:"DM Sans",sans-serif;
  --font-mono:"Courier New","Lucida Console",monospace;
  --color-text-primary:#000000;
  --color-text-secondary:#7C7C7C;
  --color-text-tertiary:#ABABAB;
  --color-text-info:#185FA5;
  --color-background-primary:#FFFFFF;
  --color-background-secondary:#F4F4F4;
  --color-border-primary:#000000;
  --color-border-secondary:#C0C0C0;
  --color-border-tertiary:#EBEBEB;
  --color-border-warning:#EF9F27;
  --border-radius-lg:12px;
  --border-radius-md:8px;
}
body{font-family:"DM Sans",sans-serif;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.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}
.container{max-width:var(--content);margin:0 auto;padding:0 40px}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:15px;font-weight:500;padding:13px 26px;border-radius:var(--pill);border:none;cursor:pointer;transition:var(--t);white-space:nowrap}
.btn-primary{background:var(--primary);color:var(--black)}
.btn-primary:hover{background:#3ec07f}
.btn-outline{background:transparent;color:var(--black);box-shadow:0 0 0 1px var(--black) inset,0 0 0 .5px var(--black)}
.btn-outline:hover{background:var(--black);color:var(--white)}
.btn-sm{font-size:13px;padding:9px 18px}
/* Nav */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--grey);height:72px}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}
.nav-left{display:flex;align-items:center;gap:16px}
.nav-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--dark-grey);transition:color .2s}
.nav-back:hover{color:var(--black)}
.nav-back svg{width:16px;height:16px}
.nav-sep{color:var(--grey);font-size:14px}
.nav-current{font-size:14px;font-weight:500;color:var(--black)}
.nav-logo-text{font-size:17px;font-weight:700;letter-spacing:-.02em}
.nav-logo-text span{color:var(--primary)}
/* Page header */
.page-header{padding:52px 0 40px;border-bottom:1px solid var(--grey)}
.page-header-inner{display:flex;align-items:flex-start;gap:24px}
.page-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.page-dept{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--dark-grey);margin-bottom:8px}
.page-title{font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:12px}
.page-desc{font-size:16px;color:var(--dark-grey);line-height:1.65;max-width:640px}
/* Content area */
.content-area{padding:48px 0 80px}
/* Footer */
.footer{background:var(--black);color:#fff;padding:40px 0 24px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand{font-size:17px;font-weight:700}
.footer-brand span{color:var(--primary)}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-links a{font-size:13px;color:rgba(255,255,255,.6);transition:color .2s}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:16px;flex-wrap:wrap;gap:12px}
.footer-copy{font-size:13px;color:rgba(255,255,255,.4)}
.footer-badge{background:var(--primary);color:var(--black);font-size:11px;font-weight:700;padding:4px 12px;border-radius:20px}
/* Toast */
.toast{position:fixed;bottom:24px;right:24px;background:var(--black);color:#fff;font-size:13px;padding:12px 20px;border-radius:12px;opacity:0;transform:translateY(8px);transition:all .3s;z-index:999;pointer-events:none}
.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:600px){.container{padding:0 20px}.page-header-inner{flex-direction:column}}
