@import"https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";.hero{--hero-padding-y: clamp(2.5rem, 6vw, 6rem);background-image:linear-gradient(180deg,#07061a8c,#07061abf 60%,#07061aeb),url(/assets/background-hero-Bw4ATyTV.webp);background-repeat:no-repeat;background-position:center top;background-size:cover;padding:var(--hero-padding-y) 0;overflow:hidden}.hero__container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.hero__row{display:flex;align-items:stretch;gap:clamp(1.5rem,4vw,4rem)}.hero__col{flex:1 1 50%;min-width:0}.hero__title{text-transform:uppercase;font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.15;font-weight:600;color:var(--color-text);letter-spacing:.5px;margin:0 0 clamp(1rem,2vw,1.5rem);display:inline-block}.hero__char{display:inline-block;opacity:0;transform:translateY(20px);animation:revealChar .6s cubic-bezier(.215,.61,.355,1) forwards;animation-delay:calc(.1s + (var(--char-index) * 25ms))}@keyframes revealChar{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero__text{font-family:var(--font-body);font-size:clamp(.95rem,1.2vw,1.1rem);line-height:1.6;color:var(--color-text-muted);max-width:46ch;margin:0 0 clamp(1.5rem,3vw,2.5rem);opacity:0;transform:translateY(20px);animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) .8s forwards}.hero__actions{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:clamp(2rem,4vw,3.5rem);opacity:0;transform:translateY(20px);animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) 1s forwards}.hero__btn{position:relative;text-transform:uppercase;font-family:var(--font-mono);font-size:.85rem;font-weight:600;letter-spacing:1px;padding:.9rem 2.2rem;border:none;cursor:pointer;clip-path:polygon(16px 0%,calc(100% - 8px) 0%,100% 8px,calc(100% - 16px) 100%,8px 100%,0% calc(100% - 8px));transition:transform .2s ease,filter .2s ease,color .2s ease,background-color .2s ease}.hero__btn--primary{background:var(--gradient-success-bubble);color:var(--color-text)}.hero__btn--primary:hover{transform:translateY(-2px);filter:drop-shadow(0 0 10px rgba(236,72,153,.55)) drop-shadow(0 0 22px rgba(124,58,237,.4))}.hero__btn--outline{background:var(--color-surface-raised);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border)}.hero__btn--outline:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--color-accent);color:var(--color-accent)}.hero__stats{display:flex;flex-direction:row;gap:clamp(.75rem,2vw,1.25rem);flex-wrap:wrap;opacity:0;transform:translateY(20px);animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) 1.2s forwards}.hero__stat-card{flex:1 1 0;min-width:120px;background:transparent;border-radius:var(--radius-lg);padding:clamp(.9rem,1vw,1.25rem)}.hero__stat-number{display:block;font-family:var(--font-mono);font-size:clamp(1.4rem,2.2vw,2rem);font-weight:500;background:var(--gradient-success-bubble);-webkit-background-clip:text;background-clip:text;color:transparent}.hero__stat-label{margin:.35rem 0 0;font-family:var(--font-body);font-size:.9rem;line-height:1.4;color:var(--color-text-muted)}.hero__col--right{display:flex;justify-content:center;align-items:stretch}.hero__image{width:100%;height:100%;max-width:520px;object-fit:cover;border-radius:var(--radius-lg);opacity:0;transform:scale(.95) translateY(20px);animation:fadeInScale 1s cubic-bezier(.16,1,.3,1) .6s forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 900px){.hero__row{flex-direction:column}.hero__col{flex:1 1 100%;width:100%}.hero__col--right{order:-1}.hero__image{height:auto}.hero__stats{flex-wrap:wrap}.hero__stat-card{min-width:calc(50% - .5rem)}}@media (max-width: 480px){.hero__actions{flex-direction:column;align-items:stretch}.hero__btn{text-align:center}.hero__stat-card{min-width:100%}}.banner-info{position:relative;overflow:hidden;width:100%;padding:.9rem 0;background:linear-gradient(100deg,#2c1a5c 0%,var(--color-background-navbar) 45%,#3a2280 70%,#2c1a5c 100%);clip-path:polygon(24px 0%,calc(100% - 12px) 0%,100% 12px,calc(100% - 24px) 100%,12px 100%,0% calc(100% - 12px));transform:skew(-3deg);margin-top:-80px;box-shadow:var(--glow-success-bubble)}.banner-info__track{display:flex;align-items:center;width:max-content;transform:skew(3deg);animation:banner-info-scroll 22s linear infinite}.banner-info:hover .banner-info__track{animation-play-state:paused}.banner-info__item{display:flex;align-items:center;flex-shrink:0;padding:0 1.5rem}.banner-info__text{font-family:var(--font-body);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-text);white-space:nowrap}.banner-info__separator{margin-left:1.5rem;font-size:.9rem;color:var(--color-accent-strong);text-shadow:0 0 8px rgba(217,70,239,.9),0 0 16px rgba(236,72,153,.6)}.banner-info__diagonal-line{position:absolute;top:-20%;left:55%;width:2px;height:140%;background:linear-gradient(to bottom,#fff0,#ffffff8c,#fff0);transform:rotate(20deg);box-shadow:0 0 10px #d946efb3;pointer-events:none}@keyframes banner-info-scroll{0%{transform:skew(3deg) translate(0)}to{transform:skew(3deg) translate(-50%)}}@media (max-width: 600px){.banner-info__text{font-size:.75rem}.banner-info__item{padding:0 1rem}}.bouton-up{position:fixed;bottom:24px;right:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gradient-success-bubble);color:var(--color-text);border:none;border-radius:50%;cursor:pointer;z-index:999;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease,visibility .25s}.bouton-up-visible{opacity:1;visibility:visible;transform:translateY(0)}.bouton-up:hover{box-shadow:var(--glow-success-bubble);transform:translateY(-2px)}.bouton-up:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (max-width: 600px){.bouton-up{bottom:16px;right:16px;width:42px;height:42px}}.navbar{width:100%;background:var(--color-background-navbar);position:sticky;top:0;z-index:50}.navbar__container{max-width:1240px;margin:0 auto;padding:0 32px}.navbar__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:76px;position:relative}.navbar__logo{justify-self:start;display:flex;align-items:center;line-height:0}.navbar__logo img{height:50px;width:auto;display:block}.navbar__menu{justify-self:center;display:flex;align-items:center;gap:clamp(18px,3vw,44px)}.navbar__menu-item{text-transform:uppercase;text-decoration:none;white-space:nowrap;color:var(--color-text-muted);font-family:var(--font-body);font-weight:600;font-size:clamp(12px,1vw,13.5px);letter-spacing:.8px;padding:8px 2px;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.navbar__menu-item:hover{color:var(--color-text);border-bottom-color:var(--color-accent)}.navbar__actions{justify-self:end;display:flex;align-items:center;gap:10px}.navbar__login-btn{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--color-border);background:transparent;color:var(--color-text);transition:background .15s ease,border-color .15s ease}.navbar__login-btn:hover{background:var(--color-accent-soft);border-color:var(--color-accent)}.navbar__burger{display:none;width:38px;height:38px;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text);border-radius:var(--radius-sm);flex-shrink:0}.navbar__burger:hover{background:var(--color-surface-raised)}.navbar__overlay{display:none}@media (max-width: 1200px){.navbar__container{padding:0 24px}.navbar__menu{gap:clamp(14px,2.4vw,32px)}}@media (max-width: 960px){.navbar__row{height:68px}.navbar__container{padding:0 20px}.navbar__logo img{height:28px}.navbar__menu-item{font-size:12px;letter-spacing:.6px}}@media (max-width: 680px){.navbar__container{padding:0 16px}.navbar__row{grid-template-columns:auto 1fr auto;height:60px;padding-top:env(safe-area-inset-top)}.navbar__logo img{height:24px}.navbar__burger{display:flex}.navbar__menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--color-surface);border-bottom:1px solid var(--color-border-soft);max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease,opacity .2s ease;z-index:51}.navbar__menu--open{max-height:320px;opacity:1}.navbar__menu-item{padding:14px 20px;border-bottom:1px solid var(--color-border-soft);border-left:2px solid transparent;font-size:13px}.navbar__menu-item:hover{border-bottom-color:var(--color-border-soft);border-left-color:var(--color-accent);background:var(--color-surface-raised)}.navbar__overlay{display:block;position:fixed;top:60px;right:0;bottom:0;left:0;background:#06080e80;z-index:45}}.home{height:100vh;overflow-y:auto;background:var(--color-background-navbar)}.title-product{background-color:var(--color-bg);padding:clamp(1.5rem,4vw,3rem) 0 0}.title-product__container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.title-product__row{display:flex;justify-content:center;text-align:center}.title-product__title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--color-text);margin:0;opacity:0;transform:translateY(40px)}.title-product__title--visible{animation:slideUp .8s ease-out forwards}.product{background-color:var(--color-bg);padding:clamp(2.5rem,6vw,6rem) 0;margin-top:-20px}.product__container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.product__row{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem)}.product__tab-list{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem;opacity:0;transform:translateY(24px)}.product__row--visible .product__tab-list{animation:fadeSlideUp .6s ease-out forwards}.product__tab{font-family:var(--font-body);font-size:.85rem;font-weight:600;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:.75rem .5rem;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.product__tab:hover{color:var(--color-text);border-color:var(--color-border)}.product__tab--active{color:var(--color-text);background:var(--gradient-success-bubble);border-color:transparent}.product__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem)}.product__card{background:var(--color-surface-raised);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;height:100%;opacity:0;transform:translateY(32px) scale(.97)}.product__row--visible .product__card{animation:cardReveal .65s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(.15s + var(--card-index) * .08s)}.product__card:hover{transform:translateY(-4px);box-shadow:var(--glow-success-bubble)}.product__card-image-wrapper{width:100%;flex:1;overflow:hidden;background:var(--color-surface)}.product__card-image{width:100%;height:100%;object-fit:cover;display:block}.product__card-title{margin:0;padding:1rem 1.1rem 1.25rem;font-family:var(--font-body);font-size:.95rem;font-weight:600}.product__card-link{color:var(--color-text);text-decoration:none;transition:color .2s ease}.product__card-link:hover{color:var(--color-accent);text-decoration:underline}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1024px){.product__tab-list,.product__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.product__tab-list,.product__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.product__tab-list,.product__card{opacity:1;transform:none;animation:none}}@media (max-width: 420px){.product__tab-list,.product__grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.product__tab-list,.product__card{animation:none!important;opacity:1!important;transform:none!important}}.banner-service{background-color:var(--color-bg);padding:clamp(.5rem,1vw,.85rem) 0;margin-top:-20px;overflow:hidden}.banner-service__shape{position:relative;overflow:hidden;background:var(--gradient-success-bubble);clip-path:polygon(32px 0%,calc(100% - 16px) 0%,100% 16px,calc(100% - 32px) 100%,16px 100%,0% calc(100% - 16px));transform:skew(-3deg) scale(.96);box-shadow:var(--glow-success-bubble);padding:clamp(.75rem,1.5vw,1.1rem) 0;opacity:0}.banner-service__shape--visible{animation:shapeReveal .7s cubic-bezier(.22,1,.36,1) forwards}.banner-service__container{width:100%;max-width:860px;margin:0 auto;padding:0 clamp(1.5rem,5vw,3rem);transform:skew(3deg)}.banner-service__row{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;text-align:left;gap:clamp(.75rem,2vw,1.5rem)}.banner-service__text{display:flex;flex-direction:column;gap:.25rem;text-align:left;opacity:0;transform:translateY(16px)}.banner-service__shape--visible .banner-service__text{animation:textSlideUp .55s ease-out forwards;animation-delay:.25s}.banner-service__title{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:clamp(.95rem,1.4vw,1.2rem);line-height:1.2;color:var(--color-text);margin:0}.banner-service__description{font-family:var(--font-body);font-size:clamp(.75rem,.9vw,.85rem);line-height:1.4;color:#e9edf6d9;max-width:40ch;margin:0}.banner-service__btn{position:relative;text-transform:uppercase;font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:1px;padding:.5rem 1.5rem;margin:0;flex-shrink:0;border:none;cursor:pointer;color:var(--color-bg);background:var(--color-text);clip-path:polygon(16px 0%,calc(100% - 8px) 0%,100% 8px,calc(100% - 16px) 100%,8px 100%,0% calc(100% - 8px));transition:transform .2s ease,filter .2s ease;opacity:0;transform:translateY(16px)}.banner-service__shape--visible .banner-service__btn{animation:btnSlideUp .55s ease-out forwards;animation-delay:.4s}.banner-service__btn:hover{transform:translateY(-2px);filter:drop-shadow(0 0 10px rgba(255,255,255,.55))}@keyframes shapeReveal{0%{opacity:0;transform:skew(-3deg) scale(.96)}to{opacity:1;transform:skew(-3deg) scale(1)}}@keyframes textSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes btnSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.banner-service__shape{clip-path:polygon(18px 0%,calc(100% - 10px) 0%,100% 10px,calc(100% - 18px) 100%,10px 100%,0% calc(100% - 10px));transform:skew(-1.5deg) scale(.96)}.banner-service__shape--visible{animation-name:shapeRevealMobile}.banner-service__container{transform:skew(1.5deg)}.banner-service__row{flex-direction:column;text-align:center}.banner-service__text{align-items:center;text-align:center}}@keyframes shapeRevealMobile{0%{opacity:0;transform:skew(-1.5deg) scale(.96)}to{opacity:1;transform:skew(-1.5deg) scale(1)}}@media (prefers-reduced-motion: reduce){.banner-service__shape,.banner-service__text,.banner-service__btn{animation:none!important;opacity:1!important;transform:skew(-3deg)!important}.banner-service__container{transform:skew(3deg)!important}}.services-section{padding:80px 0;background-color:var(--color-bg);overflow:hidden}.container{max-width:1140px;margin:0 auto;padding:0 20px}.row{display:flex;flex-direction:row;align-items:stretch;gap:40px}.col{flex:1}.col-image{display:flex;justify-content:center;opacity:0;transform:translate(-60px)}.row--visible .col-image{animation:slideInLeft .75s cubic-bezier(.22,1,.36,1) forwards}.services-image{width:100%;max-width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.col-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;opacity:0;transform:translate(60px)}.row--visible .col-content{animation:slideInRight .75s cubic-bezier(.22,1,.36,1) forwards;animation-delay:.15s}.services-title{font-family:var(--font-display);font-size:2rem;font-weight:600;margin-bottom:16px;color:var(--color-text)}.services-description{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-text-muted);margin-bottom:24px}.services-button{padding:12px 28px;font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--color-text);background:var(--gradient-success-bubble);border:none;border-radius:var(--radius-md);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.services-button:hover{box-shadow:var(--glow-success-bubble);transform:translateY(-1px)}.services-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.row{flex-direction:column}.col-content{align-items:center;text-align:center}.col-image,.col-content{transform:translateY(40px)}.row--visible .col-image,.row--visible .col-content{animation-name:slideUpMobile}}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.col-image,.col-content{animation:none!important;opacity:1!important;transform:none!important}}.title-contact-section{padding:80px 0;margin-top:-60px;background-color:var(--color-bg);overflow:hidden}.title-contact-section .container{max-width:1140px;margin:0 auto;padding:0 20px}.title-contact-section .row{display:flex;justify-content:center;align-items:center}.title-contact-wrapper{display:flex;flex-direction:column;align-items:center}.title-contact-title{font-family:var(--font-display);font-size:2.5rem;font-weight:600;color:var(--color-text);text-align:center;margin-bottom:16px;opacity:0;transform:translateY(40px)}.title-contact-wrapper--visible .title-contact-title{animation:slideUp .8s ease-out forwards}.title-contact-line{display:block;width:80px;height:3px;border-radius:var(--radius-sm);background:var(--gradient-success-bubble);opacity:0;transform:scaleX(0);transform-origin:center}.title-contact-wrapper--visible .title-contact-line{animation:lineExpand .6s ease-out forwards;animation-delay:.4s}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes lineExpand{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.title-contact-title,.title-contact-line{animation:none!important;opacity:1!important;transform:none!important}}.contact-section{padding:80px 0;margin-top:-85px;background-color:var(--color-bg);overflow:hidden}.contact-section .container{max-width:1140px;margin:0 auto;padding:0 20px}.contact-section .row{display:flex;justify-content:center}.contact-form{width:100%;max-width:560px;display:flex;flex-direction:column;gap:20px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-card);opacity:0;transform:translateY(40px)}.contact-form--visible{animation:cardSlideUp .7s cubic-bezier(.22,1,.36,1) forwards}.form-field{display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(20px)}.contact-form--visible .form-field{animation:fieldSlideUp .5s ease-out forwards;animation-delay:calc(.35s + var(--field-index) * .1s)}.form-field label{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.form-field input,.form-field textarea{font-family:var(--font-body);font-size:.95rem;color:var(--color-text);background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-text-faint)}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.form-field textarea{resize:vertical;min-height:120px}.contact-button{align-self:flex-start;padding:12px 32px;font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--color-text);background:var(--gradient-success-bubble);border:none;border-radius:var(--radius-md);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease;opacity:0;transform:translateY(20px)}.contact-form--visible .contact-button{animation:fieldSlideUp .5s ease-out forwards;animation-delay:calc(.35s + var(--field-index) * .1s)}.contact-button:hover{box-shadow:var(--glow-success-bubble);transform:translateY(-1px)}.contact-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fieldSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.contact-form{padding:28px 20px}.contact-button{align-self:stretch;text-align:center}}@media (prefers-reduced-motion: reduce){.contact-form,.form-field,.contact-button{animation:none!important;opacity:1!important;transform:none!important}}.footer-section{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:60px 0 24px}.footer-section .container{max-width:1140px;margin:0 auto;padding:0 20px}.footer-section .row{display:flex;flex-direction:row;flex-wrap:wrap;gap:32px;justify-content:space-between}.footer-col{flex:1;min-width:160px}.footer-brand{flex:1.4;display:flex;align-items:flex-start}.footer-logo{max-width:140px;height:auto}.footer-heading{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:16px}.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.footer-links a{font-family:var(--font-body);font-size:.9rem;color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--color-accent)}.footer-text{font-family:var(--font-body);font-size:.9rem;line-height:1.6;color:var(--color-text-muted)}.footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid var(--color-border-soft);text-align:center}.footer-bottom p{font-family:var(--font-body);font-size:.8rem;color:var(--color-text-faint)}@media (max-width: 768px){.footer-section .row{flex-direction:column;gap:32px}.footer-brand{justify-content:center}.footer-col{text-align:center}.footer-links{align-items:center}}.page{flex:1;min-height:0;display:flex;flex-direction:column}.chat-window{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;background-color:var(--color-bg);background-image:linear-gradient(180deg,#07061a8c,#07061abf 60%,#07061aeb),url(/assets/background-assistant-lq7dRSXM.webp);background-repeat:no-repeat;background-position:center top;background-size:cover;background-attachment:fixed}.chat-window__scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column}.chat-window__messages{max-width:760px;width:100%;margin:0 auto;padding:32px 24px 24px;display:flex;flex-direction:column;gap:22px}.chat-empty{margin:auto;max-width:560px;padding:32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.chat-empty__icon{width:52px;height:52px;border-radius:var(--radius-md);background:var(--color-accent-soft);border:1px solid var(--color-border-soft);display:flex;align-items:center;justify-content:center;margin-bottom:6px}.chat-empty__title{font-size:22px}.chat-empty__subtitle{color:var(--color-text-muted);font-size:14px;max-width:420px}.chat-empty__suggestions{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chat-empty__suggestion{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);padding:9px 14px;border-radius:999px;font-size:13px;transition:border-color .15s ease,color .15s ease}.chat-empty__suggestion:hover{border-color:var(--color-accent);color:var(--color-text)}.message{display:flex;gap:12px;align-items:flex-start}.message__avatar{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--color-surface-raised);border:1px solid var(--color-border-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-muted)}.message--user .message__avatar{color:var(--color-accent-strong)}.message__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.message__bubble{font-size:14.5px;line-height:1.6;color:var(--color-text)}.message__bubble p{margin:0 0 10px}.message__bubble p:last-child{margin-bottom:0}.message__bubble ul,.message__bubble ol{margin:0 0 10px;padding-left:20px}.message__bubble code{background:var(--color-surface-raised);padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:13px}.message--user .message__bubble{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:10px 14px}.message__bubble--typing{display:flex;gap:4px;padding:6px 0}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--color-text-faint);animation:typing-bounce 1.2s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.message__sources{margin-top:2px}.message__sources-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--color-text-faint);margin-bottom:6px}.message__sources-list{display:flex;flex-wrap:wrap;gap:8px}.source-card{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface);min-width:190px}.source-card__tab{writing-mode:vertical-rl;transform:rotate(180deg);background:var(--color-surface-raised);color:var(--color-accent-strong);font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;justify-content:center;padding:6px 5px;border-right:1px solid var(--color-border)}.source-card__body{padding:8px 12px;display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.source-card__title{font-size:12.5px;color:var(--color-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-card__meter{height:3px;border-radius:2px;background:var(--color-border-soft);overflow:hidden}.source-card__meter-fill{height:100%;background:var(--color-accent)}.chat-window__input-bar{padding:14px 24px 18px;border-top:1px solid var(--color-border-soft);background:var(--color-bg)}.chat-input{max-width:760px;margin:0 auto;display:flex;align-items:flex-end;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 10px 10px 16px}.chat-input:focus-within{border-color:var(--color-accent)}.chat-input__field{flex:1;background:transparent;border:none;color:var(--color-text);font-size:14.5px;resize:none;max-height:160px;min-height:24px;padding:4px 0}.chat-input__field:focus{outline:none}.chat-input__field::placeholder{color:var(--color-text-faint)}.chat-input__send{background:var(--gradient-success-bubble);border:none;color:#fff;width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 12px #ec489959;transition:box-shadow .2s ease,opacity .15s ease,transform .15s ease}.chat-input__send:disabled{opacity:.4;cursor:default;box-shadow:none}.chat-input__send:not(:disabled):hover{box-shadow:var(--glow-success-bubble);transform:translateY(-1px)}.chat-window__disclaimer{max-width:760px;margin:8px auto 0;font-size:11px;color:var(--color-text-faint);text-align:center}@media (max-width: 780px){.chat-window__messages{padding:20px 14px 16px;gap:18px}.chat-empty{padding:24px 16px;margin:0}.chat-empty__title{font-size:19px}.chat-empty__subtitle{font-size:13.5px}.chat-empty__suggestions{flex-direction:column;width:100%}.chat-empty__suggestion{text-align:left;white-space:normal}.message{gap:9px}.message__avatar{width:26px;height:26px}.message__bubble{font-size:14px}.message__sources-list{flex-direction:column}.source-card{min-width:0;width:100%}.chat-window__input-bar{padding:10px 12px calc(12px + env(safe-area-inset-bottom))}.chat-input{padding:8px 8px 8px 14px}.chat-input__field{font-size:16px}.chat-window__disclaimer{font-size:10.5px}}.page--documents{overflow-y:auto;padding:32px 40px 60px}.page-header{max-width:1100px;margin:0 auto 28px}.page-header h1{font-size:26px;margin-bottom:8px}.page-header__subtitle{color:var(--color-text-muted);font-size:14px;max-width:620px}.documents-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}.documents-layout__heading{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--color-text-faint);margin-bottom:12px;font-weight:500}.doc-upload{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0}.doc-upload__dropzone{border:1.5px dashed var(--color-border);border-radius:var(--radius-md);padding:22px 16px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.doc-upload__dropzone:hover,.doc-upload__dropzone--active{border-color:var(--color-accent);background:var(--color-accent-soft)}.doc-upload__dropzone-text{font-size:13.5px;color:var(--color-text)}.doc-upload__dropzone-hint{font-family:var(--font-mono);font-size:10.5px;color:var(--color-text-faint)}.doc-upload__row{display:flex;gap:10px}.doc-upload__field{display:flex;flex-direction:column;gap:5px;flex:1}.doc-upload__field--small{flex:0 0 150px}.doc-upload__field label{font-size:12px;color:var(--color-text-muted);font-weight:500}.doc-upload__field input,.doc-upload__field select,.doc-upload__field textarea{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 10px;color:var(--color-text);font-size:13.5px;resize:vertical}.doc-upload__field input:focus,.doc-upload__field select:focus,.doc-upload__field textarea:focus{outline:none;border-color:var(--color-accent)}.doc-upload__error{background:var(--color-error-soft);color:#e0a0a0;border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px}.doc-upload__submit{background:var(--gradient-success-bubble);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 14px;font-weight:600;font-size:13.5px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 0 14px #ec48994d;transition:box-shadow .2s ease,transform .15s ease}.doc-upload__submit:hover:not(:disabled){box-shadow:var(--glow-success-bubble);transform:translateY(-1px)}.doc-upload__submit:disabled{opacity:.6;cursor:default;box-shadow:none}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.doc-list{display:flex;flex-direction:column;gap:10px}.doc-list__empty{color:var(--color-text-faint);font-size:13.5px;padding:24px;text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.doc-card{display:flex;gap:12px;align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:14px}.doc-card__icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-surface-raised);display:flex;align-items:center;justify-content:center;color:var(--color-accent-strong);flex-shrink:0}.doc-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.doc-card__title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-card__title{font-weight:600;font-size:14px}.doc-card__category{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--color-accent-strong);background:var(--color-accent-soft);padding:2px 8px;border-radius:999px}.doc-card__description{color:var(--color-text-muted);font-size:12.5px}.doc-card__meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--color-text-faint);flex-wrap:wrap}.doc-card__status{display:flex;align-items:center;gap:4px;font-weight:500}.status--ready{color:var(--color-success)}.status--processing{color:var(--color-info)}.status--error{color:var(--color-error)}.doc-card__error{color:var(--color-error);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.doc-card__actions{display:flex;gap:6px;flex-shrink:0}.doc-card__action-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border-soft);background:var(--color-surface-raised);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.doc-card__action-btn:hover{color:var(--color-text);border-color:var(--color-border)}.doc-card__action-btn--danger:hover{color:var(--color-error)}@media (max-width: 860px){.documents-layout{grid-template-columns:1fr}.doc-upload{position:static}}@media (max-width: 780px){.page--documents{padding:18px 14px 40px}.page-header h1{font-size:21px}.page-header__subtitle{font-size:13px}.documents-layout{gap:20px}.doc-upload{padding:14px}.doc-upload__row{flex-direction:column}.doc-upload__field--small{flex:1}.doc-upload__field input,.doc-upload__field select,.doc-upload__field textarea{font-size:16px}.doc-card{flex-wrap:wrap;padding:12px}.doc-card__actions{width:100%;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--color-border-soft);margin-top:4px}.doc-card__error{max-width:180px}}.app{display:flex;height:100vh;width:100%;overflow:hidden}.app__main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh}.sidebar{width:280px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border-soft);display:flex;flex-direction:column;height:100vh}.sidebar__brand{position:relative;padding:22px 20px 18px;border-bottom:1px solid var(--color-border-soft)}.sidebar__close-btn{display:none;position:absolute;top:16px;right:14px;background:transparent;border:none;color:var(--color-text-muted);width:32px;height:32px;border-radius:var(--radius-sm);align-items:center;justify-content:center}.sidebar__close-btn:hover{background:var(--color-surface-raised);color:var(--color-text)}.sidebar__brand-mark{display:flex;align-items:center;gap:10px}.sidebar__brand-title{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.2px}.sidebar__brand-subtitle{font-family:var(--font-mono);font-size:11px;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:1.2px;margin-top:4px}.sidebar__nav{padding:14px 12px;border-bottom:1px solid var(--color-border-soft);display:flex;flex-direction:column;gap:4px}.sidebar__nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s ease,color .15s ease}.sidebar__nav-link:hover{background:var(--color-surface-raised);color:var(--color-text)}.sidebar__nav-link--active{background:var(--color-accent-soft);color:var(--color-accent-strong)}.sidebar__section-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:1.4px;color:var(--color-text-faint);padding:16px 20px 8px}.sidebar__history{flex:1;overflow-y:auto;padding:0 12px;display:flex;flex-direction:column;gap:2px}.sidebar__history-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:13.5px;cursor:pointer;border:none;background:transparent;text-align:left;width:100%}.sidebar__history-item:hover,.sidebar__history-item--active{background:var(--color-surface-raised);color:var(--color-text)}.sidebar__history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__history-delete{opacity:0;background:none;border:none;color:var(--color-text-faint);padding:2px;border-radius:4px;display:flex}.sidebar__history-item:hover .sidebar__history-delete{opacity:1}.sidebar__history-delete:hover{color:var(--color-error)}.sidebar__footer{padding:14px 20px;border-top:1px solid var(--color-border-soft);font-family:var(--font-mono);font-size:10.5px;color:var(--color-text-faint)}.sidebar__new-btn{margin:12px 20px 0;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--gradient-success-bubble);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 14px;font-weight:600;font-size:13.5px;box-shadow:0 0 14px #ec48994d;transition:box-shadow .2s ease,transform .15s ease}.sidebar__new-btn:hover{background:var(--gradient-success-bubble);box-shadow:var(--glow-success-bubble);transform:translateY(-1px)}.app__overlay{display:none}.mobile-topbar{display:none;align-items:center;gap:12px;padding:12px 14px;padding-top:calc(12px + env(safe-area-inset-top));border-bottom:1px solid var(--color-border-soft);background:var(--color-surface);flex-shrink:0}.mobile-topbar__menu-btn{background:transparent;border:none;color:var(--color-text);width:38px;height:38px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-topbar__menu-btn:active{background:var(--color-surface-raised)}.mobile-topbar__title{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:16px}.mobile-topbar__spacer{flex:1}@media (max-width: 960px){.sidebar{width:240px}}@media (max-width: 780px){.app{position:relative;overflow:hidden}.mobile-topbar{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(84vw,320px);z-index:40;transform:translate(-100%);transition:transform .25s ease;box-shadow:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.sidebar--open{transform:translate(0);box-shadow:0 0 40px #00000073}.sidebar__close-btn{display:flex}.app__overlay--visible{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#06080e8c;z-index:30}.app__main{width:100%}.sidebar__nav-link,.sidebar__history-item{padding-top:11px;padding-bottom:11px}.sidebar__history-delete{opacity:1;padding:6px}}:root{--color-bg: #0a0e1a;--color-surface: #131a2c;--color-background-navbar: #32206c;--color-surface-raised: #1a2238;--color-border: #2a3450;--color-border-soft: #202a42;--color-text: #e9edf6;--color-text-muted: #8a94ac;--color-text-faint: #565f78;--color-accent: #d946ef;--color-accent-soft: rgba(217, 70, 239, .15);--color-accent-strong: #ec4899;--gradient-success-bubble: linear-gradient(135deg, #ec4899 0%, #d946ef 45%, #7c3aed 100%);--glow-success-bubble: 0 0 20px rgba(236, 72, 153, .5), 0 0 40px rgba(124, 58, 237, .3);--color-success: #34d399;--color-success-soft: rgba(52, 211, 153, .15);--color-error: #f87171;--color-error-soft: rgba(248, 113, 113, .15);--color-info: #38bdf8;--font-display: "Source Serif 4", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}#root{height:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin:0;color:var(--color-text)}p{margin:0}button{font-family:var(--font-body);cursor:pointer}input,textarea,select{font-family:var(--font-body)}::selection{background:var(--color-accent-soft);color:var(--color-text)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
