@font-face{font-family:Plex Sans;src:url("../assets/fonts/plex-sans-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Plex Sans;src:url("../assets/fonts/plex-sans-semibold.woff2") format("woff2");font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:Plex Mono;src:url("../assets/fonts/plex-mono-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f5f3ef;--surface:#faf9f6;--ink:#071a3d;--muted:#50627a;--line:#ccd1d7;--control:#50627a;--accent:#2452d6;--cyan:#28bccb;--focus:#2452d6;--button-a:#071a3d;--button-b:#183e77;--grid:rgba(80,98,122,.035);--wash:rgba(48,153,213,.07);--mono:"Plex Mono",monospace}
html[data-theme=dark]{color-scheme:dark;--paper:#0b1829;--surface:#112236;--ink:#f0eee7;--muted:#b7c5d5;--line:#344b61;--control:#8296ae;--accent:#8ebaff;--cyan:#50d5e1;--focus:#8ebaff;--button-a:#173661;--button-b:#255694;--grid:rgba(160,186,211,.035);--wash:rgba(41,112,175,.1)}
@media(prefers-color-scheme:dark){html:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--paper:#0b1829;--surface:#112236;--ink:#f0eee7;--muted:#b7c5d5;--line:#344b61;--control:#8296ae;--accent:#8ebaff;--cyan:#50d5e1;--focus:#8ebaff;--button-a:#173661;--button-b:#255694;--grid:rgba(160,186,211,.035);--wash:rgba(41,112,175,.1)}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Plex Sans",Arial,sans-serif;font-size:clamp(17px,1.3vw,32px);line-height:1.5}button,input,select{font:inherit}button,select,summary{cursor:pointer}a{color:inherit;text-underline-offset:.2em}button,a,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:default}[hidden]{display:none!important}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.1}p{max-width:65ch}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}a:hover{text-decoration-thickness:2px}.container{width:80%;max-width:1600px;margin-inline:auto}.mono,.eyebrow,.domain,.status,.section-meta,.institutional{font-family:var(--mono)}.skip-link{position:fixed;z-index:10;left:16px;top:-100px;padding:14px 20px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:16px}.site-header{display:flex;align-items:center;gap:28px;min-height:110px}.brand{width:285px;flex-shrink:0}.brand img{width:100%;max-height:94px;object-fit:contain}.logo-dark,.map-dark{display:none}html[data-theme=dark] .logo-light,html[data-theme=dark] .map-light{display:none}html[data-theme=dark] .logo-dark,html[data-theme=dark] .map-dark{display:block}
@media(prefers-color-scheme:dark){html:not([data-theme=light]):not([data-theme=dark]) .logo-light,html:not([data-theme=light]):not([data-theme=dark]) .map-light{display:none}html:not([data-theme=light]):not([data-theme=dark]) .logo-dark,html:not([data-theme=light]):not([data-theme=dark]) .map-dark{display:block}}
.site-header nav{display:flex;align-items:center;gap:clamp(16px,2vw,35px);margin-left:auto;white-space:nowrap}.site-header nav a{font-size:15px;text-decoration:none;padding-block:12px}.site-header nav a:hover{text-decoration:underline}.theme-control{border-left:1px solid var(--line);padding-left:18px;display:flex;align-items:center;gap:8px;font-size:13px}.theme-control label{color:var(--muted)}.theme-control select{border:1px solid transparent;background:var(--paper);color:var(--ink);padding:10px 3px;max-width:105px}.menu-toggle{border:1px solid var(--control);background:transparent;padding:9px 17px;min-height:44px}.hero{display:grid;grid-template-columns:1.18fr 1fr;gap:0;align-items:center;min-height:570px;padding-block:30px 45px;border-bottom:1px solid var(--line)}.hero-copy{position:relative;z-index:1;padding-block:20px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;line-height:1.7;margin-bottom:16px;color:var(--muted)}.hero-copy .eyebrow{margin-bottom:43px;color:var(--ink);letter-spacing:.21em}.hero h1{font-size:clamp(42px,4.85vw,82px);letter-spacing:-.035em;line-height:1.035;margin-bottom:25px;width:115%;max-width:790px}.hero-description{font-size:clamp(19px,2.15vw,34px);line-height:1.34;color:var(--muted);max-width:34ch}.hero-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:34px}.button,.product-details summary{display:inline-flex;gap:22px;align-items:center;justify-content:center;text-decoration:none;min-height:50px;padding:13px 22px;border:1px solid var(--control);font-size:16px;font-weight:600;line-height:1.3}.button.primary,.product-details summary{color:white;background:linear-gradient(110deg,var(--button-a),var(--button-b));border-color:var(--button-b)}.button.primary:hover,.product-details summary:hover{background:var(--button-b)}.button.secondary{background:transparent;border-color:var(--ink)}.button.secondary:hover{background:var(--surface)}.button span{font-size:23px;font-weight:400}.network{align-self:stretch;position:relative;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;margin-left:-12px}.map-stage{position:relative;width:100%;aspect-ratio:1;background:radial-gradient(ellipse at 56% 43%,var(--wash),transparent 66%)}.map-fallback,canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.map-stage.is-live .map-fallback{visibility:hidden}.network figcaption{text-align:right;align-self:flex-end;line-height:1.3;font-size:16px;position:relative;margin-top:-30px;max-width:100%;padding-left:25%}.network figcaption small{display:block;font-size:11px;color:var(--muted);margin-top:9px;max-width:36ch}.map-toggle{font-size:12px;font-weight:400;min-height:40px;padding:9px 14px;margin-top:12px;background:transparent}.section{padding-block:53px;border-bottom:1px solid var(--line);background-image:linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:25% 100%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:7px}h2{font-size:clamp(29px,3.1vw,48px);letter-spacing:-.035em}.section-meta{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em;line-height:1.6}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.product-card{border:1px solid var(--line);padding:26px 28px;background:var(--surface);display:flex;flex-direction:column;align-items:flex-start;min-height:262px}.product-card:hover,.product-card:focus-within{border-color:var(--control)}.domain{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:17px}.product-card h3{font-size:30px;letter-spacing:-.025em;margin-bottom:10px}.product-card>p:not(.domain){font-size:clamp(17px,1.3vw,26px);color:var(--muted);line-height:1.35}.product-footer{margin-top:auto;padding-top:19px;align-self:flex-end}.status{font-size:11px;letter-spacing:.06em;line-height:1.5;display:inline-block;padding:3px 0;color:var(--muted)}.status.production{padding:5px 10px;background:var(--accent);color:var(--paper);font-weight:400}.status.construction{padding:5px 10px;border:1px solid var(--control);position:relative;overflow:hidden}.status.construction:after{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:var(--control);opacity:.18;animation:scan 6s linear infinite;pointer-events:none}@keyframes scan{to{transform:translateY(32px)}}.product-details{width:100%;margin-top:6px}.product-details summary{list-style:none;font-weight:400;min-width:215px;justify-content:space-between;padding:10px 18px;min-height:46px}.product-details summary::-webkit-details-marker{display:none}.product-details[open] summary span{transform:rotate(90deg)}.detail-body{margin-top:20px;border-top:1px solid var(--line);padding-top:20px}.detail-body h4{font-size:18px}.detail-body ul{padding-left:20px;color:var(--muted);margin:14px 0}.detail-body a{font-size:16px}.detail-body p{font-size:17px;color:var(--muted);margin:14px 0}.placeholder{min-height:218px}.placeholder-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:24px;width:100%;font-size:15px;color:var(--muted)}.institutional{margin:0;border:1px solid var(--line);padding:16px 27px;background:var(--surface);font-size:14px}.institutional>div{display:grid;grid-template-columns:230px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.institutional>div:last-child{border:0}.institutional dt{color:var(--muted)}.institutional dd{margin:0;overflow-wrap:anywhere}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:42px}.principles>div{border-right:1px solid var(--line);padding:10px 24px 10px 0}.principles>div:last-child{border:0}.principles h3{font-size:21px;margin-bottom:14px}.validation-note{margin-top:30px;color:var(--muted);font-size:13px}.contact-section{padding-block:62px;display:grid;grid-template-columns:1fr 1fr;gap:50px;border-bottom:1px solid var(--line)}.contact-section h2{font-size:clamp(29px,2.9vw,44px)}.contact-section>div:last-child{align-self:center}.contact-section p{color:var(--muted);font-size:17px}.contact-link{display:inline-block;margin-block:16px 20px;font-weight:600;font-size:clamp(17px,1.7vw,25px);overflow-wrap:anywhere}.contact-section .mono{font-size:12px}.site-footer{display:flex;gap:24px;justify-content:space-between;align-items:center;padding-block:28px;font-size:13px}.site-footer p{margin-top:6px;color:var(--muted);font-size:12px}.site-footer nav{display:flex;gap:23px;flex-wrap:wrap}.site-footer a{padding-block:10px}.cookie-banner{border-block:1px solid var(--line);background:var(--surface);padding-block:20px;scroll-margin-top:24px}.cookie-inner{display:flex;align-items:center;gap:35px;justify-content:space-between}.cookie-banner h2{font-size:16px;letter-spacing:0;line-height:1.4}.cookie-banner p{font-size:13px;line-height:1.5;color:var(--muted);margin-top:4px}.cookie-actions{display:flex;gap:14px}.cookie-actions button{background:transparent;border:1px solid var(--control);min-height:44px;min-width:124px;font-size:14px;padding:10px 18px}.cookie-actions button:hover{background:var(--paper)}.legal-notes{padding-block:20px 35px;font-size:13px;color:var(--muted)}.legal-notes details{padding-block:12px;border-bottom:1px solid var(--line)}.legal-notes summary{padding-block:8px}.legal-notes p{margin-top:14px}
@media(min-width:900px) and (max-width:1220px){.site-header{gap:14px}.brand{width:230px}.site-header nav{gap:16px}.site-header nav a{font-size:13px}.theme-control{padding-left:8px}.theme-control label{display:none}.hero-actions{gap:12px}.button{padding-inline:16px}.hero h1{font-size:clamp(42px,4.7vw,60px)}.network figcaption{margin-top:0;padding-left:12%}.institutional>div{grid-template-columns:180px 1fr}}
@media(width < 900px){.container{width:100%;padding-inline:24px}.site-header{min-height:88px;gap:18px;flex-wrap:wrap;padding-block:12px}.brand{width:220px;max-width:calc(100% - 90px)}.brand img{max-height:72px}.menu-toggle{margin-left:auto}.site-header nav{order:3;width:100%;display:flex;flex-wrap:wrap;gap:4px 22px;padding-block:12px;margin:0;border-top:1px solid var(--line)}.site-header nav a{font-size:16px;padding-block:10px}.site-header nav.menu-collapsed{display:none}.theme-control{order:4;margin-left:auto;border:0;padding:0;font-size:13px}.theme-control select{min-height:44px}.hero{display:flex;flex-direction:column;gap:8px;padding-block:30px 34px;min-height:0}.hero-copy{width:100%;padding:0}.hero-copy .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:25px}.hero h1{width:100%;font-size:clamp(38px,7.1vw,64px);max-width:700px;margin-bottom:22px}.desktop-break{display:none}.hero-description{font-size:clamp(19px,3.7vw,25px);max-width:42ch;line-height:1.4}.hero-actions{flex-direction:column;gap:12px;margin-top:26px;width:100%}.hero-actions .button{width:100%;min-height:50px;font-size:17px}.network{align-self:center;align-items:center;margin:0;width:min(100%,460px)}.map-stage{width:100%;margin-top:12px}.network figcaption{padding:0;margin-top:-5px;align-self:center;text-align:center;font-size:16px}.network figcaption small{font-size:11px}.map-toggle{margin-top:14px;font-size:13px;min-height:44px}.section{padding-block:38px;background-size:50% 100%}.section-heading{gap:12px;margin-bottom:23px}.section-meta{display:none}.eyebrow{font-size:10px}.product-grid{grid-template-columns:1fr;gap:16px}.product-card{padding:23px;min-height:0}.product-card h3{font-size:28px}.product-card>p:not(.domain){font-size:17px}.product-footer{align-self:flex-start;margin-top:10px;padding-top:6px}.product-details{margin-top:13px}.product-details summary{width:100%}.placeholder-footer{flex-wrap:wrap;padding-top:24px;align-items:flex-start;flex-direction:column;gap:8px}.institutional{padding:9px 19px;font-size:14px}.institutional>div{grid-template-columns:1fr;gap:7px;padding-block:14px}.institutional dt{font-size:12px}.principles{grid-template-columns:1fr;gap:0;margin-top:10px}.principles>div{display:flex;align-items:center;justify-content:space-between;gap:15px;border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.principles h3{font-size:19px;margin:0}.validation-note{margin-top:20px}.contact-section{padding-block:40px;grid-template-columns:1fr;gap:30px}.contact-link{font-size:clamp(16px,4.4vw,24px)}.site-footer{flex-direction:column;align-items:flex-start;gap:14px;padding-block:26px}.site-footer nav{gap:12px 20px}.cookie-inner{flex-direction:column;align-items:stretch;gap:18px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cookie-actions button{width:100%;min-width:0}.cookie-banner h2{font-size:16px}.legal-notes{padding-block:15px 30px}.status{font-size:11px}}
@media(max-width:360px){.container{padding-inline:16px}.brand{width:192px}.hero h1{font-size:36px}.product-card{padding:20px}.principles>div{align-items:flex-start;flex-direction:column;gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.map-stage canvas{display:none!important}.map-stage.is-live .map-fallback{visibility:visible}}
@media(min-width:900px){
  .hero h1{font-size:clamp(48px,5.4vw,84px);width:110%}
  .hero-description{font-size:clamp(22px,2.4vw,36px)}
  .hero-actions .button{min-height:60px;padding-inline:25px;font-size:18px}
  .hero{min-height:575px;padding-block:20px 35px}
  .network{height:520px;align-self:center;justify-content:flex-start}
  .map-stage{width:min(100%,520px);margin-inline:auto;flex-shrink:0}
  .network figcaption{position:absolute;bottom:53px;right:0;padding:0;margin:0;width:210px}
  .network figcaption small{font-size:11px}
  .network .map-toggle{position:absolute;bottom:0;right:0;margin:0}
}
@media(min-width:900px) and (max-width:1220px){
  .hero h1{font-size:4.7vw}
  .hero-description{font-size:2.15vw}
  .hero-actions .button{font-size:16px;padding-inline:16px;min-height:50px}
}
@media(min-width:1221px){
  .product-card{min-height:240px}
  .product-footer{padding-top:28px}
  .product-details{margin-top:-31px}
}
@media print{.menu-toggle,.theme-control,.map-toggle,.cookie-banner{display:none!important}.container{width:100%}.site-header nav{display:none}.product-details[open]{break-inside:avoid}body{background:white;color:#071a3d}.map-stage.is-live .map-fallback{visibility:visible}.map-stage canvas{display:none}.section{break-inside:avoid}}
.product-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:14px}
/* Secțiunile instituționale: text, nu grilă de carduri */
.lead{font-size:clamp(20px,1.7vw,34px);line-height:1.4;max-width:42ch}
.section>.lead{margin-bottom:8px}
.text-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(30px,4vw,80px);align-items:start}
.text-block .body p{color:var(--muted)}
.text-block .body p+p{margin-top:1em}
.ideas{list-style:none;margin:0;padding:0;counter-reset:idea;border-top:1px solid var(--line)}
.ideas li{counter-increment:idea;display:grid;grid-template-columns:4em minmax(0,1fr) minmax(0,1.6fr);gap:10px 30px;padding:24px 0;border-bottom:1px solid var(--line)}
.ideas li:before{content:counter(idea,decimal-leading-zero);font-family:var(--mono);font-size:14px;color:var(--accent);padding-top:.35em}
.ideas h3,.practices h3{font-size:clamp(20px,1.6vw,30px);letter-spacing:-.02em;line-height:1.2}
.ideas p,.practices p{color:var(--muted)}
.practices{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}
.practices li{border-top:1px solid var(--line);padding:22px 0}
.practices h3{margin-bottom:8px}
.product-group+.product-group{margin-top:38px}
.product-group>h3{font-family:var(--mono);font-weight:400;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:16px}
.product-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.compact .product-card{min-height:0;padding:18px 20px}
.compact .product-card h4{font-size:clamp(20px,1.5vw,28px);letter-spacing:-.02em;margin-bottom:6px}
.compact .product-card>p{font-size:clamp(15px,1.05vw,22px);color:var(--muted);line-height:1.4}
.compact .product-footer{align-self:stretch;margin-top:auto;padding-top:14px}
.product-link{font-size:15px;font-weight:600;text-decoration:none}
.product-link:hover{text-decoration:underline}
@media(min-width:900px) and (max-width:1400px){.site-header{gap:16px}.brand{width:210px}.site-header nav{gap:14px}.site-header nav a{font-size:14px}.theme-control label{display:none}.theme-control{padding-left:10px}}
@media(min-width:900px) and (max-width:1220px){.site-header{flex-wrap:wrap;row-gap:0;padding-block:10px 0}.site-header nav{order:3;width:100%;margin-left:0;border-top:1px solid var(--line)}.theme-control{margin-left:auto}.product-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(width < 900px){.text-block{grid-template-columns:1fr;gap:16px}.ideas li{grid-template-columns:1fr;gap:6px;padding:20px 0}.practices{grid-template-columns:1fr}.product-grid.compact{grid-template-columns:1fr;gap:12px}.compact .product-footer{justify-content:space-between}}
/* Soluções = cardurile hub-ului vechi (/produtos, src/pages/ChooserPage.jsx), bandă închisă în ambele teme */
@font-face{font-family:Fraunces;src:url("../assets/fonts/fraunces-latin.woff2") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:DM Sans;src:url("../assets/fonts/dm-sans-latin.woff2") format("woff2");font-style:normal;font-weight:400 500;font-display:swap}
.hub-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
@media(min-width:640px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hub-card{position:relative;display:block;height:100%;padding:2rem;border:1px solid rgba(142,186,255,.14);border-radius:1.3rem;background:linear-gradient(180deg,#172c4f,#0f203c);color:#e8eef7;text-decoration:none;font-family:"DM Sans",sans-serif;font-size:1rem;line-height:1.5;transition:border-color .35s,transform .35s,box-shadow .35s}
.hub-card:hover{transform:translateY(-6px)}
.hub-logo{display:block;width:3.25rem;height:3.25rem;border-radius:1rem;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.hub-logo img{width:100%;height:100%;object-fit:cover}
.hub-eyebrow{margin-top:1.75rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#8a98ad}
.hub-title{margin-top:.5rem;font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.01em;font-size:2.6rem;line-height:1;color:#f3f7fc}
.hub-desc{margin-top:1rem;font-size:.96rem;line-height:1.625;color:#9fb0c3}
.hub-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:1.75rem}
.hub-cta{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;transition:color .3s}
.hub-arrow{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.hub-card:hover .hub-arrow{transform:translateX(.25rem)}
.hub-card--atend:hover{border-color:rgba(52,211,153,.45);box-shadow:0 24px 60px -28px rgba(52,211,153,.4)}.hub-card--atend .hub-cta,.hub-card--atend .hub-scene{color:#34d399}
.hub-card--saude:hover{border-color:rgba(96,165,250,.45);box-shadow:0 24px 60px -28px rgba(96,165,250,.4)}.hub-card--saude .hub-cta,.hub-card--saude .hub-scene{color:#60a5fa}
.hub-card--escola:hover{border-color:rgba(95,199,127,.45);box-shadow:0 24px 60px -28px rgba(95,199,127,.4)}.hub-card--escola .hub-cta,.hub-card--escola .hub-scene{color:#5fc77f}
.hub-card--tarja:hover{border-color:rgba(167,139,250,.45);box-shadow:0 24px 60px -28px rgba(167,139,250,.4)}.hub-card--tarja .hub-cta,.hub-card--tarja .hub-scene{color:#a78bfa}
.hub-card--dna:hover{border-color:rgba(94,234,212,.45);box-shadow:0 24px 60px -28px rgba(94,234,212,.4)}.hub-card--dna .hub-cta,.hub-card--dna .hub-scene{color:#5eead4}
.hub-card--estuda:hover{border-color:rgba(255,138,61,.45);box-shadow:0 24px 60px -28px rgba(255,138,61,.4)}.hub-card--estuda .hub-cta,.hub-card--estuda .hub-scene{color:#ff8a3d}
.hub-card--enem:hover{border-color:rgba(251,113,133,.45);box-shadow:0 24px 60px -28px rgba(251,113,133,.4)}.hub-card--enem .hub-cta,.hub-card--enem .hub-scene{color:#fb7185}
.hub-card--cmv:hover{border-color:rgba(212,175,55,.45);box-shadow:0 24px 60px -28px rgba(212,175,55,.4)}.hub-card--cmv .hub-cta,.hub-card--cmv .hub-scene{color:#e3be5a}
.hub-card--sites:hover{border-color:rgba(232,121,249,.45);box-shadow:0 24px 60px -28px rgba(232,121,249,.4)}.hub-card--sites .hub-cta,.hub-card--sites .hub-scene{color:#e879f9}
.hub-card--cloud:hover{border-color:rgba(103,199,232,.45);box-shadow:0 24px 60px -28px rgba(103,199,232,.4)}.hub-card--cloud .hub-cta,.hub-card--cloud .hub-scene{color:#67c7e8}
.hub-card--esim:hover{border-color:rgba(56,189,248,.45);box-shadow:0 24px 60px -28px rgba(56,189,248,.4)}.hub-card--esim .hub-cta,.hub-card--esim .hub-scene{color:#38bdf8}
.hub-card--quebra:hover{border-color:rgba(245,158,11,.45);box-shadow:0 24px 60px -28px rgba(245,158,11,.4)}.hub-card--quebra .hub-cta,.hub-card--quebra .hub-scene{color:#f59e0b}
.hub-card--diario:hover{border-color:rgba(248,113,113,.45);box-shadow:0 24px 60px -28px rgba(248,113,113,.4)}.hub-card--diario .hub-cta,.hub-card--diario .hub-scene{color:#f87171}
.hub-card--portal:hover{border-color:rgba(129,140,248,.45);box-shadow:0 24px 60px -28px rgba(129,140,248,.4)}.hub-card--portal .hub-cta,.hub-card--portal .hub-scene{color:#818cf8}
.hub-card--alina:hover{border-color:rgba(249,168,212,.45);box-shadow:0 24px 60px -28px rgba(249,168,212,.4)}.hub-card--alina .hub-cta,.hub-card--alina .hub-scene{color:#f9a8d4}
.hub-card--mkt:hover{border-color:rgba(251,146,60,.45);box-shadow:0 24px 60px -28px rgba(251,146,60,.4)}.hub-card--mkt .hub-cta,.hub-card--mkt .hub-scene{color:#fb923c}
.hub-card--nfce:hover{border-color:rgba(163,230,53,.45);box-shadow:0 24px 60px -28px rgba(163,230,53,.4)}.hub-card--nfce .hub-cta,.hub-card--nfce .hub-scene{color:#a3e635}
.hub-scene{position:absolute;top:1.5rem;right:1.5rem;width:6rem;height:6rem;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.hub-scene svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.hub-scene .w4{stroke-width:4;opacity:.9}
.hub-card:hover .hub-scene{opacity:1;transform:none}
.hub-scene .pop{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:center}
.hub-scene .draw{stroke-dasharray:1;stroke-dashoffset:1}
.hub-scene .redact{transform:scaleX(0);transform-box:fill-box;transform-origin:left center}
.hub-scene .grow{transform:scaleY(0);transform-box:fill-box;transform-origin:center bottom}
.hub-scene .steam,.hub-scene .dot,.hub-scene .drop{opacity:0}
.hub-card:hover .pop{animation:hub-pop .45s cubic-bezier(.16,1,.3,1) both}
.hub-card:hover .draw{animation:hub-draw .7s ease-out both}
.hub-card:hover .redact{animation:hub-redact .5s cubic-bezier(.16,1,.3,1) both}
.hub-card:hover .steam{animation:hub-steam 1.8s ease-in-out infinite}
.hub-card:hover .dot{animation:hub-dot 1.2s ease-in-out infinite}
.hub-card:hover .grow{animation:hub-grow .55s cubic-bezier(.16,1,.3,1) both}
.hub-card:hover .drop{animation:hub-drop .5s cubic-bezier(.34,1.4,.64,1) both}
.hub-card:hover .spin{animation:hub-spin 6s linear infinite;transform-box:fill-box;transform-origin:center}
.hub-card:hover .t1{animation-delay:0.1s}.hub-card:hover .t2{animation-delay:0.2s}.hub-card:hover .t3{animation-delay:0.3s}.hub-card:hover .t4{animation-delay:0.4s}.hub-card:hover .t5{animation-delay:0.5s}.hub-card:hover .t6{animation-delay:0.6s}.hub-card:hover .t7{animation-delay:0.7s}.hub-card:hover .t8{animation-delay:0.8s}.hub-card:hover .t9{animation-delay:0.9s}.hub-card:hover .t10{animation-delay:1s}.hub-card:hover .t11{animation-delay:1.1s}.hub-card:hover .t12{animation-delay:1.2s}.hub-card:hover .t13{animation-delay:1.3s}.hub-card:hover .t14{animation-delay:1.4s}.hub-card:hover .t15{animation-delay:1.5s}
@keyframes hub-pop{to{opacity:1;transform:scale(1)}}
@keyframes hub-draw{to{stroke-dashoffset:0}}
@keyframes hub-redact{to{transform:scaleX(1)}}
@keyframes hub-steam{0%{opacity:0;transform:translateY(4px)}40%{opacity:.9}100%{opacity:0;transform:translateY(-14px)}}
@keyframes hub-dot{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes hub-grow{to{transform:scaleY(1)}}
@keyframes hub-drop{from{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:none}}
@keyframes hub-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.hub-scene .pop,.hub-scene .steam,.hub-scene .dot{opacity:1;transform:none}.hub-scene .draw{stroke-dashoffset:0}.hub-scene .redact{transform:none}}
/* Apariție la citire: ascuns doar după ce JS pune .rv-on pe <html> (fără JS sau cu reduced-motion totul e vizibil). */
.rv-on .rv:not(.is-in){opacity:0;transform:translateY(24px)}
.rv-on .rv{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv-on h2.rv:not(.is-in){opacity:1;transform:none}
.rv-on h2.rv .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.rv-on h2.rv .w>span{display:inline-block;transform:translateY(110%);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.rv-on h2.rv.is-in .w>span{transform:none}
/* Fundalul cu cod care curge (js/code-rain.js): sub tot conținutul, nu prinde clicuri. */
.code-rain{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
/* Serviços: carduri pe suprafața temei, icon desenat la apariție, cerc în colț care crește la hover. */
.services{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:1100px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.services{grid-template-columns:minmax(0,1fr)}}
.svc-card{position:relative;overflow:hidden;padding:30px 26px 40px;background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:transform .35s,border-color .35s,box-shadow .35s}
.svc-card:after{content:"";position:absolute;right:-48px;bottom:-48px;width:136px;height:136px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent) 0 45%,color-mix(in srgb,var(--accent) 8%,transparent) 46% 70%,transparent 71%);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.svc-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 18px 40px -24px color-mix(in srgb,var(--accent) 70%,transparent)}
.svc-card:hover:after{transform:scale(1.4)}
.svc-icon{display:block;width:44px;height:44px;color:var(--accent);margin-bottom:22px}
.svc-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svc-icon path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.3s .35s ease-out}
.rv-on .svc-card.rv:not(.is-in) .svc-icon path{stroke-dashoffset:1}
.svc-card h3{position:relative;z-index:1;margin:0 0 10px;font-size:1.05em;line-height:1.25}
.svc-card p{position:relative;z-index:1;margin:0;color:var(--muted);font-size:.88em;line-height:1.55}
/* Soluções: 4 pe rând pe ecran lat (Stefan, 05.10: pagina prea lungă) */
@media(min-width:1100px){.hub-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.hub-card{padding:1.5rem}.hub-title{font-size:2rem}}
