@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=Manrope:wght@400;500;600;650;700;800&display=swap');
:root{--paper:#f7f5f1;--ink:#2d2934;--muted:#79747c;--purple:#735595;--line:#e6e1db;--lavender:#eae3f0;--coral:#d97960;--white:#fffefa;--green:#dfe7d8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ac8cca;outline-offset:3px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,sans-serif}button{border:0;background:none}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#f0ede7;border-right:1px solid var(--line);padding:38px 24px 20px;display:flex;flex-direction:column;z-index:15}.brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:800;line-height:.95;letter-spacing:-1.3px}.brand-symbol{font-size:54px;font-weight:400;color:var(--purple);line-height:1}.brand-dot{color:var(--coral)}.brand-caption{font-size:9px;letter-spacing:2px;margin:18px 0 42px 4px;color:#777078}nav button{display:flex;gap:13px;align-items:center;width:100%;padding:13px 15px;border-radius:10px;font-weight:500;text-align:left;color:#736c78;margin:4px 0;white-space:nowrap}nav button.active{background:var(--lavender);color:#69498c;font-weight:700}nav svg{width:20px;height:20px;stroke-width:1.7;flex-shrink:0}.nav-label{font-size:10px;letter-spacing:1.7px;color:#9b929b;margin:27px 15px 12px}.sidebar-bottom{margin-top:auto;padding:24px 10px}.little-flower{font-size:37px;color:#c07b63;margin-bottom:12px}.sidebar-bottom h3{font-size:15px;line-height:1.5;font-weight:650}.sidebar-bottom p{color:var(--muted);font-size:11px;line-height:1.7;margin-top:8px}.profile-button{border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;text-align:left;padding:20px 5px 0;width:100%;font-size:12px;font-weight:700}.profile-button small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:4px}.avatar{border-radius:50%;width:37px;height:37px;background:#d5c6e0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.app-shell{margin-left:238px}.topbar{height:91px;padding:0 46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.top-note{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;display:inline-block;background:#869a79;border-radius:50%}.header-actions{display:flex;align-items:center;gap:16px}.city-control{display:flex;gap:7px;align-items:center;font-size:12px}.city-control select{border:0;background:transparent;max-width:150px;padding:8px 0;color:var(--ink)}.primary{background:var(--purple);color:white;border-radius:9px;padding:13px 22px;font-weight:600;transition:background .2s}.primary:hover{background:#5a3f7c}.primary.small{font-size:12px;padding:12px 17px}.secondary{border:1px solid #cfc5d4;border-radius:8px;padding:12px 18px;font-weight:600;background:transparent}.mobile-brand,.mobile-nav{display:none}main{max-width:1450px;margin:auto;padding:34px 46px 50px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:var(--purple);text-transform:uppercase}.welcome{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:25px}.welcome h1{font-size:29px;letter-spacing:-1px;font-weight:700;margin:7px 0 5px}.welcome p{font-size:13px;color:var(--muted);line-height:1.6}.demo-tag{font-size:10px;color:#806f83;background:#eee8f0;padding:7px 10px;border-radius:20px;white-space:nowrap}.hero{background:var(--lavender);border-radius:18px;position:relative;min-height:290px;overflow:hidden;display:flex;align-items:center;padding:34px 38px;isolation:isolate}.hero-copy{position:relative;z-index:2;max-width:61%}.hero .eyebrow{font-size:9px;letter-spacing:1.8px}.hero h2{font-size:clamp(31px,3.1vw,47px);font-weight:650;line-height:1.16;letter-spacing:-1.8px;margin:13px 0}.hero h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple)}.hero p{font-size:12px;line-height:1.7;color:#756a7e;max-width:330px;margin-bottom:21px}.hero-art{position:absolute;right:0;top:0;width:40%;height:100%;overflow:hidden}.art-circle{position:absolute;width:290px;height:290px;border:1px solid #bca8ce;border-radius:50%;right:-15px;top:15px}.art-circle:before,.art-circle:after{content:'';position:absolute;border:1px solid #bca8ce;inset:21px;border-radius:50%}.art-circle:after{inset:44px}.art-sun{position:absolute;background:#e8b385;border-radius:50%;height:75px;width:75px;right:95px;top:50px}.art-star{position:absolute;font-size:126px;color:var(--purple);right:45px;bottom:31px;line-height:1;transform:rotate(10deg)}.art-flower{position:absolute;font-size:96px;line-height:1;color:var(--coral);right:175px;bottom:35px;transform:rotate(-15deg)}.art-note{position:absolute;font-family:Georgia,serif;font-style:italic;font-size:18px;transform:rotate(-12deg);top:30px;right:165px;color:#89669c;white-space:nowrap}.floating-label{position:absolute;padding:10px 14px;background:#fffefa;box-shadow:0 4px 18px #4e325814;border-radius:30px;font-size:10px;right:12px;top:125px;transform:rotate(7deg);white-space:nowrap}.shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 35px}.shortcut{border:1px solid var(--line);border-radius:12px;padding:16px 12px;display:flex;align-items:center;gap:12px;text-align:left;background:#fffefa66}.shortcut:hover{background:#fffefa}.shortcut-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.shortcut-icon svg{width:19px;height:19px}.shortcut strong{font-size:11px;display:block}.shortcut small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{font-size:21px;font-weight:650;letter-spacing:-.6px}.section-heading p{font-size:12px;color:var(--muted);margin-top:6px}.text-button{font-size:11px;color:var(--purple);font-weight:650;padding:8px 0}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:21px}.chip{font-size:11px;border:1px solid var(--line);background:transparent;padding:8px 14px;border-radius:30px;color:#7c747e;white-space:nowrap}.chip.active{border-color:var(--purple);background:var(--purple);color:white}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.event-card{background:var(--white);border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:transform .2s}.event-card:hover{transform:translateY(-3px)}.event-art{height:153px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.event-art svg{width:100%;height:100%}.art-coffee{background:#e5c7ae}.art-walk{background:#ced7c4}.art-dance{background:#d9c6de}.art-picnic{background:#e9d39f}.art-workshop{background:#bfd7d8}.save-button{position:absolute;top:12px;right:12px;background:#fffefae8;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:var(--ink)}.save-button svg{width:15px;height:15px}.save-button.saved{color:var(--purple);background:#eae3f0}.save-button.saved svg{fill:var(--purple)}.event-category{position:absolute;left:12px;top:13px;font-size:8px;letter-spacing:.5px;background:#fffefacb;padding:5px 8px;border-radius:20px;font-weight:650}.event-body{padding:17px}.event-meta{color:var(--coral);font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;display:flex;align-items:center;gap:7px}.event-card h3{font-size:14px;line-height:1.45;letter-spacing:-.2px;margin:8px 0 9px}.location{color:var(--muted);font-size:10px;display:flex;align-items:center;gap:5px}.location svg{width:12px;height:12px}.event-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:13px;border-top:1px solid #eee9e3;gap:5px}.price{font-size:10px;font-weight:650}.detail-button{color:var(--purple);font-size:10px;font-weight:650;padding:5px 0}.lower-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;margin-top:35px}.group-list{display:flex;flex-direction:column;gap:11px}.group-card{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.group-icon{height:43px;width:43px;border-radius:14px;display:grid;place-items:center;background:#e8ddeb;color:#765193;font-size:21px;flex-shrink:0}.group-copy{flex:1}.group-copy h3{font-size:12px;margin-bottom:5px}.group-copy p{font-size:10px;color:var(--muted);line-height:1.5}.join-button{border:1px solid #dcd1e2;padding:8px 12px;border-radius:7px;color:var(--purple);font-size:10px;white-space:nowrap}.join-button.joined{background:var(--lavender)}.aside-card{background:#e5e9dd;border-radius:14px;padding:25px;position:relative;overflow:hidden;min-height:215px}.aside-card .eyebrow{color:#65745c;font-size:8px}.aside-card h3{font-size:23px;font-weight:600;letter-spacing:-.8px;line-height:1.3;margin-top:15px;max-width:230px}.aside-card p{font-size:11px;line-height:1.7;color:#737c69;margin:12px 0 18px;max-width:235px}.aside-card:after{content:'✳';position:absolute;right:-15px;bottom:-25px;font-size:142px;line-height:1;color:#a5b09a;transform:rotate(10deg)}.aside-card button{position:relative;z-index:2;background:#fffefa;padding:11px 16px;border-radius:8px;font-size:10px;font-weight:650}.aside-card .icon{height:14px;width:14px}footer{padding:22px 46px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#938994;line-height:1.6}footer span:first-child{color:#73617e}.search-row{display:flex;gap:12px;margin-bottom:20px}.search-box{flex:1;position:relative}.search-box input{width:100%;border:1px solid var(--line);background:var(--white);border-radius:10px;padding:13px 15px;font-size:12px;color:var(--ink)}.empty{grid-column:1/-1;padding:50px 20px;text-align:center;border:1px dashed #cfc2d4;border-radius:13px;color:var(--muted);font-size:13px;line-height:1.8}.empty strong{display:block;font-size:18px;color:var(--ink);margin-bottom:8px}.page-head{margin-bottom:28px}.page-head h1{font-size:33px;letter-spacing:-1.2px;margin:7px 0 9px}.page-head p{color:var(--muted);font-size:13px;line-height:1.7}.notice{font-size:11px;line-height:1.7;padding:13px 16px;background:#eee8f0;border-radius:9px;color:#786180;margin-bottom:23px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.resource-card{padding:25px;border:1px solid var(--line);background:var(--white);border-radius:13px}.resource-card .resource-icon{font-size:27px;margin-bottom:20px}.resource-card h3{font-size:17px;letter-spacing:-.5px;margin-bottom:10px}.resource-card p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:18px}.resource-card small{font-size:10px;color:var(--purple)}.community-intro{padding:25px;background:var(--lavender);border-radius:13px;margin-bottom:25px;line-height:1.8;font-size:13px}.guideline{font-size:12px;line-height:1.9;color:var(--muted);padding:20px 0}.detail-top{padding:0;margin:-30px -30px 24px;height:185px;border-radius:17px 17px 0 0;overflow:hidden}.detail-top .event-art{height:100%}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}.detail-meta span{font-size:12px;line-height:1.7}.detail-meta small{display:block;color:var(--muted);font-size:10px}.detail-description{color:#7b707e;font-size:13px;line-height:1.8;margin:16px 0 24px}.dialog-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dialog-actions .primary{flex:1}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;width:min(540px,calc(100% - 32px));max-height:88vh;color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #2d19352b}dialog::backdrop{background:#28202c70;backdrop-filter:blur(3px)}.dialog-title{font-size:25px;letter-spacing:-.8px;line-height:1.3;padding-right:20px;margin:6px 0 12px}.close-dialog{position:absolute;right:12px;top:12px;border-radius:50%;height:29px;width:29px;background:#fffefae6;z-index:5;font-size:20px}form label{display:block;font-size:11px;font-weight:600;margin:17px 0 7px}form input,form textarea,form select{display:block;width:100%;padding:11px 12px;border-radius:8px;border:1px solid #d9cfdc;background:var(--white);font-size:12px;color:var(--ink)}form textarea{min-height:85px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-help{font-size:10px;color:var(--muted);line-height:1.7;margin:13px 0 20px}.form-error{color:#a44438;font-size:12px;margin-bottom:10px}.saved-heading{margin-top:32px}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:var(--ink);color:white;border-radius:10px;padding:13px 22px;font-size:12px;box-shadow:0 10px 30px #29203222;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 30px);text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1500px){.event-art{height:185px}.hero{min-height:320px}.hero-art{width:38%}.art-circle{right:45px}.art-sun{right:150px}.art-star{right:100px}.art-flower{right:240px}.art-note{right:220px}.floating-label{right:70px}}
@media(max-width:1150px){.sidebar{width:202px;padding:30px 18px 18px}.brand{font-size:25px}.brand-symbol{font-size:45px}.brand-caption{font-size:8px;letter-spacing:1.7px}.app-shell{margin-left:202px}.topbar{padding:0 28px}main{padding:28px}.top-note{font-size:10px}.header-actions{gap:10px}.hero{padding:28px}.hero p{max-width:270px}.shortcut{gap:8px;padding:12px 9px}.shortcut-icon{height:30px;width:30px}.shortcut strong{font-size:10px}.shortcut small{font-size:9px}.event-grid{gap:12px}.event-body{padding:13px}.event-card h3{font-size:13px}.lower-grid{gap:16px}footer{padding:20px 28px}.art-flower{right:130px}.art-note{right:120px;font-size:16px}.hero-art{width:43%}}
@media(max-width:900px){.top-note{display:none}.topbar{justify-content:flex-end}.shortcuts{grid-template-columns:repeat(2,1fr)}.hero-copy{max-width:66%}.hero-art{opacity:.75;right:-65px}.hero h2{font-size:35px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:1fr}.event-grid .event-card:last-child:nth-child(3){display:none}#main[data-page="eventos"] .event-card:last-child,#main[data-page="guardados"] .event-card:last-child{display:block}.aside-card{min-height:195px}.resource-grid{grid-template-columns:1fr}}
@media(max-width:680px){.sidebar{display:none}.app-shell{margin-left:0}.topbar{padding:0 19px;height:75px;justify-content:space-between;position:sticky;top:0;background:#f7f5f1f5;backdrop-filter:blur(10px);z-index:10}.mobile-brand{display:block;color:var(--purple);font-family:Manrope,sans-serif;font-weight:800;font-size:17px;letter-spacing:-.7px}.header-actions .primary{display:none}.header-actions{gap:0}.city-control select{font-size:11px;max-width:119px}.city-control{gap:3px}main{padding:25px 19px 32px}.welcome{align-items:start;margin-bottom:20px}.welcome h1{font-size:25px}.welcome p{font-size:12px;max-width:240px}.welcome .demo-tag{display:none}.hero{padding:28px 24px;min-height:309px;border-radius:15px}.hero-copy{max-width:90%}.hero h2{font-size:37px;letter-spacing:-1.4px;line-height:1.2}.hero p{max-width:220px;font-size:11px}.hero-art{right:-95px;width:65%;opacity:.45;top:25px;pointer-events:none}.art-note,.floating-label{display:none}.hero .primary{font-size:12px;padding:12px 17px}.eyebrow{font-size:9px}.shortcuts{gap:10px;margin:17px 0 30px}.shortcut{padding:13px 11px;gap:10px}.shortcut strong{font-size:11px}.shortcut small{font-size:9px}.shortcut-icon{width:33px;height:33px}.section-heading h2{font-size:20px}.section-heading p{font-size:11px}.text-button{font-size:10px}.filters{gap:7px;flex-wrap:nowrap;overflow:auto;margin-right:-19px;padding-right:19px;scrollbar-width:none;padding-bottom:3px}.chip{font-size:10px;padding:8px 13px}.event-grid{grid-template-columns:1fr;gap:18px}.event-art{height:185px}.event-body{padding:18px}.event-card h3{font-size:17px;margin-top:10px}.event-meta{font-size:10px}.location{font-size:11px}.event-bottom .price,.detail-button{font-size:11px}.event-grid .event-card:last-child:nth-child(3){display:block}.lower-grid{margin-top:30px;gap:25px}.group-card{padding:16px 13px}.group-copy h3{font-size:12px}.join-button{padding:8px 10px}.aside-card h3{max-width:240px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fffefaef;backdrop-filter:blur(12px);display:flex;justify-content:space-around;z-index:20;border-top:1px solid var(--line);padding:6px 5px calc(7px + env(safe-area-inset-bottom))}.mobile-nav button{margin:0;width:auto;padding:7px 10px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;font-size:9px;border-radius:8px;min-width:51px}.mobile-nav svg{width:19px;height:19px}.mobile-nav button.active{background:transparent;color:var(--purple)}footer{padding:20px 19px 100px;display:block;font-size:9px}footer span{display:block;margin-bottom:8px}.page-head h1{font-size:29px}.page-head p{font-size:12px}.search-box input{font-size:12px}.search-row .primary{font-size:11px;padding:10px 13px}.notice{font-size:10px}.resource-grid{gap:14px}.resource-card{padding:22px}.detail-top{margin:-24px -24px 22px}dialog{padding:24px}.dialog-title{font-size:23px}.detail-meta{gap:12px}.detail-meta span{font-size:11px}.form-row{gap:10px}#toast{bottom:90px;min-width:220px}.mobile-profile{padding:16px;background:var(--lavender);border-radius:12px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.mobile-profile button{font-size:11px;color:var(--purple);font-weight:700}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
