.lazy-load-image-background.blur{filter:blur(15px)}.lazy-load-image-background.blur.lazy-load-image-loaded{filter:blur(0);transition:filter .3s}.lazy-load-image-background.blur>img{opacity:0}.lazy-load-image-background.blur.lazy-load-image-loaded>img{opacity:1;transition:opacity .3s}:root{color-scheme:light;--color-bg: #fefdf8;--color-bg-rgb: 254, 253, 248;--color-bg-secondary: #f5f3ed;--color-bg-tertiary: #ebe8e0;--color-text: #2d2a26;--color-text-secondary: #5c5650;--color-text-muted: #8a847c;--color-border: rgba(45, 42, 38, .1);--color-border-rgb: 45, 42, 38;--color-primary: #3d3a36;--color-primary-hover: #4a4641;--color-accent: #c4742e;--color-accent-hover: #b06628;--color-accent-light: #fdf3e7;--color-accent-rgb: 196, 116, 46;--color-shadow: rgba(45, 42, 38, .08);--color-shadow-hover: rgba(45, 42, 38, .15);--color-card: #faf8f3;--color-card-hover: #f3efe8;--color-success: #2d7d46;--color-success-light: #e8f5ed;--color-error: #b42318;--color-error-light: #fdeaea;--color-focus: #c4742e;--font-heading: "Playfair Display", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}html[data-theme=dark],html.dark{color-scheme:dark;--color-bg: #0d1117;--color-bg-rgb: 13, 17, 23;--color-bg-secondary: #161b22;--color-bg-tertiary: #21262d;--color-text: #e6edf3;--color-text-secondary: #8b949e;--color-text-muted: #6e7681;--color-border: rgba(139, 148, 158, .15);--color-border-rgb: 139, 148, 158;--color-primary: #f0f6fc;--color-primary-hover: #c9d1d9;--color-accent: #d29922;--color-accent-hover: #e3b341;--color-accent-light: #2d240e;--color-accent-rgb: 210, 153, 34;--color-shadow: rgba(0, 0, 0, .4);--color-shadow-hover: rgba(0, 0, 0, .55);--color-card: #161b22;--color-card-hover: #1c2128;--color-success: #3fb950;--color-success-light: #0d2818;--color-error: #f85149;--color-error-light: #3d0d0c;--color-focus: #d29922;--font-heading: "Playfair Display", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);transition:background-color .3s ease,color .3s ease;overflow-x:hidden;width:100%;max-width:100vw}body,#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2}.app-shell{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg);color:var(--color-text)}.app-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;padding-right:1rem}.app-main{flex:1;display:flex;flex-direction:column}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button{font-family:inherit}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}section[id],[id=contact]{scroll-margin-top:5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media(max-width:768px){.app-header{padding-right:.5rem}}.typography--h1{font-size:clamp(2rem,5vw,3rem)}.typography--h2{font-size:clamp(1.5rem,4vw,2.25rem)}.typography--h3{font-size:1.5rem}.typography--h4{font-size:1.25rem}.typography--h5{font-size:1.1rem}.typography--h6{font-size:1rem}.typography--p,.typography--span{font-size:1rem;line-height:1.7}.typography--small{font-size:.875rem}.typography--lead{font-size:1.15rem;line-height:1.7}.typography--default{color:var(--color-text)}.typography--primary{color:var(--color-primary)}.typography--secondary,.typography--muted{color:var(--color-text-secondary)}.typography--white{color:#fff}.typography--error{color:var(--color-error)}.typography--success{color:var(--color-success)}.typography--light{font-weight:300}.typography--normal{font-weight:400}.typography--medium{font-weight:500}.typography--semibold{font-weight:600}.typography--bold{font-weight:700}.typography--gutter-bottom{margin-bottom:.75rem}.typography--no-wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:2px solid transparent;border-radius:.5rem;font-family:inherit;font-weight:600;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .2s ease}.btn--sm{padding:.5rem .85rem;font-size:.85rem}.btn--md{padding:.7rem 1.25rem;font-size:.95rem}.btn--lg{padding:1rem 2rem;font-size:1rem}.btn--primary{background-color:var(--color-primary);color:var(--color-bg)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn--secondary{background-color:var(--color-bg-tertiary);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background-color:var(--color-bg-secondary)}.btn--outline{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--outline:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.btn--ghost{background-color:transparent;color:var(--color-text)}.btn--ghost:hover:not(:disabled){background-color:var(--color-bg-secondary)}.btn--full-width{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.btn__icon,.btn__content{display:inline-flex;align-items:center}.btn__spinner{display:inline-flex}.btn__spinner .spinner{width:1.1rem;height:1.1rem}.spinner{width:2rem;height:2rem;animation:spinner-rotate .9s linear infinite;color:var(--color-accent)}.spinner--sm{width:1.25rem;height:1.25rem}.spinner--md{width:2rem;height:2rem}.spinner--lg{width:3rem;height:3rem}.spinner--primary{color:var(--color-accent)}.spinner--secondary{color:var(--color-text-secondary)}.spinner--white{color:#fff}.spinner__circle{stroke-dasharray:45 100;stroke-linecap:round}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.label{display:block;margin-bottom:.4rem;font-size:.875rem;font-weight:600;color:var(--color-text)}.label__required{color:var(--color-error);margin-left:.2rem}.input-wrapper{display:flex;flex-direction:column}.input-wrapper--full-width{width:100%}.input__inner{position:relative;display:flex;align-items:center}.input__field{width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.5rem;transition:border-color .2s ease,box-shadow .2s ease}.input__field::placeholder{color:var(--color-text-muted)}.input__field:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--color-accent-rgb),.2)}.input__field--error{border-color:var(--color-error)}.input__icon{position:absolute;display:inline-flex;align-items:center;color:var(--color-text-muted)}.input__icon--left{left:.85rem;pointer-events:none}.input__icon--right{right:.5rem}.input__inner:has(.input__icon--left) .input__field{padding-left:2.6rem}.input__inner:has(.input__icon--right) .input__field{padding-right:2.6rem}.input__error{margin:.35rem 0 0;font-size:.8rem;color:var(--color-error)}.input__helper{margin:.35rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.form-field{margin-bottom:1rem}.form-field__toggle-password{display:inline-flex;align-items:center;padding:.35rem;background:none;border:none;border-radius:.375rem;color:var(--color-text-muted);cursor:pointer}.form-field__toggle-password:hover{color:var(--color-accent)}.card{background-color:var(--color-card);border-radius:.75rem;color:var(--color-text);transition:transform .25s ease,box-shadow .25s ease}.card--outlined{border:1px solid var(--color-border)}.card--elevated{box-shadow:0 10px 30px var(--color-shadow)}.card--hover:hover{transform:translateY(-4px);box-shadow:0 12px 28px var(--color-shadow-hover)}.card--padding-sm{padding:.75rem}.card--padding-md{padding:1.25rem}.card--padding-lg{padding:1.75rem}.card--padding-none{padding:0}.card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.card__header-content{flex:1}.card__footer{display:flex;gap:.75rem}.card__footer--left{justify-content:flex-start}.card__footer--center{justify-content:center}.card__footer--right{justify-content:flex-end}.card--padding-none>.card__header,.card--padding-none>.card__body,.card--padding-none>.card__footer{padding:1.25rem 1.5rem}.rating{display:inline-flex;gap:.15rem}.rating__star{display:inline-flex;padding:0;background:none;border:none;color:var(--color-border);cursor:default}.rating__star--filled{color:var(--color-accent)}.rating__star--filled .rating__star-icon{fill:currentColor}.rating--interactive .rating__star{cursor:pointer}.rating--interactive .rating__star:hover{transform:scale(1.15)}.nav-item{position:relative;display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-weight:500;text-decoration:none;transition:color .2s ease}.nav-item:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background-color:var(--color-accent);transition:width .3s ease}.nav-item:hover{color:var(--color-text)}.nav-item:hover:after{width:100%}.nav-item--active{color:var(--color-accent)}.nav-item__icon{display:inline-flex}.header{position:sticky;top:0;z-index:100;background-color:rgba(var(--color-bg-rgb),.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);transition:box-shadow .3s ease}.header--scrolled{box-shadow:0 4px 20px var(--color-shadow)}.header__container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:1200px;margin:0 auto;padding:.85rem 1.5rem}.header__logo{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-text);text-decoration:none;transition:transform .3s ease}.header__logo:hover{transform:scale(1.03)}.header__logo-icon{color:var(--color-accent)}.header__logo-text{margin:0;letter-spacing:.05em}.header__nav{display:none;flex:1;justify-content:center}.header__nav-list{display:flex;gap:2rem;margin:0;padding:0;list-style:none}.header__nav-item{display:flex}.header__actions{display:flex;align-items:center;gap:.6rem}.header__lang-switcher{display:flex;gap:.4rem}.header__lang-btn{padding:.4rem .65rem;background-color:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:.375rem;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.header__lang-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.header__lang-btn--active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.header__lang-btn--active:hover{color:var(--color-bg)}.header__theme-toggle{border:1px solid var(--color-border);width:2.5rem;height:2.5rem;padding:0}.header__cta{display:none}.header__mobile-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:none;border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);cursor:pointer}.header__mobile-menu{border-top:1px solid var(--color-border);background-color:var(--color-bg);animation:header-menu-in .2s ease-out}.header__mobile-nav-list{margin:0;padding:.5rem 0;list-style:none}.header__mobile-nav-link{display:flex;align-items:center;gap:.6rem;width:100%;padding:.9rem 1.5rem;background:none;border:none;color:var(--color-text);font-family:inherit;font-size:1rem;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:all .2s ease}.header__mobile-nav-link:hover{background-color:var(--color-bg-secondary);color:var(--color-accent);padding-left:2rem}.header__mobile-nav-link--cta{color:var(--color-accent);font-weight:600}.header__mobile-divider{height:1px;margin:.5rem 1.5rem;background-color:var(--color-border)}@keyframes header-menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:900px){.header__nav{display:flex}.header__cta{display:inline-flex}.header__mobile-toggle,.header__mobile-menu{display:none}}@media(max-width:480px){.header__container{padding:.75rem 1rem}.header__logo-text{display:none}}.footer{background-color:var(--color-bg-secondary);color:var(--color-text);border-top:1px solid var(--color-border);padding:2rem 1rem;margin-top:auto}.footer__content{max-width:1200px;margin:0 auto}.footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer__section{display:flex;flex-direction:column;gap:.75rem}.footer__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.footer__text{margin:0;font-size:.875rem;color:var(--color-text-secondary);line-height:1.6}.footer__link{color:var(--color-accent);text-decoration:none;transition:color .2s ease;margin-right:5px;background:none;border:none;padding:0;font:inherit;cursor:pointer}.footer__link:hover{text-decoration:underline}.footer__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.footer__social{display:flex;gap:.75rem;flex-wrap:wrap}.footer__social-feedback{align-self:center;font-size:.8rem;color:var(--color-text-secondary);min-height:1em}.footer__social-link{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s ease;border:1px solid var(--color-border);color:var(--color-text);background-color:var(--color-bg)}.footer__social-link--facebook:hover{background-color:#1877f2;color:#fff;border-color:#1877f2}.footer__social-link--whatsapp:hover{background-color:#25d366;color:#fff;border-color:#25d366}.footer__social-link--copy{cursor:pointer;font:inherit}.footer__social-link--copy:hover{border-color:var(--color-accent);color:var(--color-accent)}.footer__bottom{border-top:1px solid var(--color-border);padding-top:1.5rem;text-align:center}.footer__copyright{margin:0;font-size:.875rem;color:var(--color-text-secondary)}@media(max-width:768px){.footer{padding:1.5rem 1rem}.footer__grid{grid-template-columns:1fr;gap:1.5rem}.footer__social{flex-direction:column}.footer__social-link{width:100%;justify-content:center}}.hero{width:100%;min-height:60vh;background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-bg-secondary) 100%);display:flex;align-items:center;justify-content:center;padding:3rem 1rem;box-sizing:border-box}.hero__content{max-width:1200px;width:100%}.hero__text{text-align:center;animation:slideUp .6s ease-out}.hero__title{font-size:clamp(2rem,6vw,4rem);font-weight:800;margin:0 0 1rem;color:var(--color-text);line-height:1.2}.hero__subtitle{font-size:clamp(1rem,3vw,1.5rem);color:var(--color-text-secondary);margin:0 0 2rem;line-height:1.6}.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.hero__cta{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:all .3s ease;font-size:1rem;border:2px solid transparent}.hero__cta--primary{background-color:var(--color-primary);color:var(--color-bg)}.hero__cta--primary:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 8px 16px var(--color-shadow)}.hero__cta--secondary{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.hero__cta--secondary:hover{background-color:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent)}@media(max-width:768px){.hero{min-height:50vh;padding:2rem 1rem}.hero__cta{padding:.85rem 1.5rem;font-size:.95rem}}.about{width:100%;padding:4rem 1rem;background-color:var(--color-bg);color:var(--color-text)}.about__container{max-width:1200px;margin:0 auto}.about__content{margin-bottom:3rem;text-align:center}.about__title{font-size:clamp(1.8rem,5vw,3rem);font-weight:800;margin:0 0 1.5rem;color:var(--color-text)}.about__text{font-size:1.1rem;line-height:1.8;color:var(--color-text-secondary);max-width:800px;margin:0 auto}.about__features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.about__feature{background-color:var(--color-bg-secondary);padding:2rem;border-radius:.75rem;border:1px solid var(--color-border);text-align:center;transition:all .3s ease}.about__feature:hover{transform:translateY(-4px);box-shadow:0 12px 24px var(--color-shadow);border-color:var(--color-accent)}.about__feature-icon{font-size:2.5rem;margin-bottom:1rem;display:inline-block}.about__feature-title{font-size:1.25rem;font-weight:700;margin:1rem 0 .5rem;color:var(--color-text)}.about__feature-text{margin:0;color:var(--color-text-secondary);line-height:1.6}@media(max-width:768px){.about{padding:2rem 1rem}.about__features{gap:1.5rem}.about__feature{padding:1.5rem}}.services{width:100%;padding:4rem 1rem;background-color:var(--color-bg-secondary);color:var(--color-text)}.services__container{max-width:1200px;margin:0 auto}.services__title{font-size:clamp(1.8rem,5vw,3rem);font-weight:800;margin:0 0 .5rem;text-align:center;color:var(--color-text)}.services__subtitle{font-size:1.1rem;text-align:center;color:var(--color-text-secondary);margin:0 0 3rem;line-height:1.6}.services__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.service-card{background-color:var(--color-bg);padding:2rem;border-radius:.75rem;border:1px solid var(--color-border);text-align:center;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.service-card:hover{transform:translateY(-8px);box-shadow:0 16px 32px var(--color-shadow);border-color:var(--color-accent)}.service-card__icon{font-size:3rem;display:inline-block}.service-card__title{font-size:1.25rem;font-weight:700;margin:0;color:var(--color-text)}.service-card__description{margin:0;color:var(--color-text-secondary);line-height:1.6}@media(max-width:768px){.services{padding:2rem 1rem}.services__grid{gap:1.5rem}.service-card{padding:1.5rem}}.reviews{width:100%;padding:4rem 1rem;background-color:var(--color-bg-secondary);color:var(--color-text)}.reviews__container{max-width:1200px;margin:0 auto}.reviews__title{font-size:clamp(1.8rem,5vw,3rem);font-weight:700;margin:0 0 .5rem;text-align:center;color:var(--color-text)}.reviews__subtitle{font-size:1.1rem;text-align:center;color:var(--color-text-secondary);margin:0 0 2rem;line-height:1.6}.reviews__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.5rem;margin-bottom:2.5rem}.reviews__view-all{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--color-accent);text-decoration:none}.reviews__view-all:hover{text-decoration:underline}.reviews__write-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:9999px;text-decoration:none;transition:all .2s ease;box-shadow:0 2px 8px var(--color-shadow)}.reviews__write-link:hover{background-color:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-shadow-hover)}.reviews__write-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.reviews__loading,.reviews__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--color-text-secondary);gap:1rem}.reviews__empty-icon{opacity:.5;color:var(--color-accent)}.reviews__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.review-card{background-color:var(--color-card);border:1px solid var(--color-border);border-radius:1rem;padding:1.75rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease;box-shadow:0 4px 12px var(--color-shadow)}.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px var(--color-shadow-hover);border-color:var(--color-accent)}.review-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.review-card__rating{display:flex;gap:.25rem}.review-card__rating__star{color:var(--color-text-muted);transition:color .2s ease}.review-card__rating__star.filled{color:var(--color-accent)}.review-card__language{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent);background:var(--color-accent-light);padding:.25rem .625rem;border-radius:1rem;white-space:nowrap}.review-card__text{margin:0;font-size:.95rem;line-height:1.7;color:var(--color-text);font-style:italic;flex:1}.review-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid var(--color-border);margin-top:auto}.review-card__author{display:flex;flex-direction:column;gap:.125rem}.review-card__alias{font-weight:600;font-size:.9rem;color:var(--color-text)}.review-card__anonymous{font-size:.85rem;color:var(--color-text-muted);font-style:italic}.review-card__date{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.review-card__translate{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500;color:var(--color-accent);background:var(--color-accent-light);border:1px solid rgba(var(--color-accent-rgb),.3);border-radius:2rem;cursor:pointer;transition:all .2s ease}.review-card__translate:hover:not(:disabled){background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.review-card__translate:disabled{opacity:.6;cursor:not-allowed}.review-card__translate:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:768px){.reviews{padding:2rem 1rem}.reviews__grid{grid-template-columns:1fr;gap:1rem}.review-card{padding:1.5rem}}@media(max-width:500px){.review-card{padding:1.25rem}.review-card__text{font-size:.9rem}}.portfolio{width:100%;padding:4rem 1rem;background-color:var(--color-bg);color:var(--color-text)}.portfolio__container{max-width:1400px;margin:0 auto}.portfolio__title{font-size:clamp(1.8rem,5vw,3rem);font-weight:700;margin:0 0 .5rem;text-align:center;color:var(--color-text)}.portfolio__subtitle{font-size:1.1rem;text-align:center;color:var(--color-text-secondary);margin:0 0 3rem;line-height:1.6}.portfolio__loading,.portfolio__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--color-text-secondary);gap:1rem}.portfolio__empty-icon{opacity:.5}.portfolio__carousel{position:relative;border-radius:1rem;overflow:hidden;box-shadow:0 20px 60px var(--color-shadow);background:var(--color-bg-secondary)}.portfolio__carousel-track{position:relative;width:100%;height:600px;min-height:600px}.portfolio__indicators{position:absolute;bottom:1.5rem;left:0;right:0;z-index:10;display:flex;justify-content:center;gap:.5rem}.portfolio__indicators .portfolio__indicator{width:12px;height:12px;border-radius:50%;background-color:var(--color-text-muted);border:none;opacity:.5;transition:all .3s ease;margin:0;cursor:pointer}.portfolio__indicators .portfolio__indicator:hover{opacity:.8;transform:scale(1.2)}.portfolio__indicators .portfolio__indicator--active{background-color:var(--color-accent);opacity:1;transform:scale(1.2)}.portfolio__slide{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;display:flex;flex-direction:column}.portfolio__slide:first-child{z-index:2}.portfolio__slide-image{position:relative;flex:1;overflow:hidden}.portfolio__slide-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio .portfolio__slide-img{transform:scale(1.02)}.portfolio__slide-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-tertiary),var(--color-bg-secondary));color:var(--color-text-muted)}.portfolio__slide-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(var(--color-bg-rgb),.9) 0%,rgba(var(--color-bg-rgb),.5) 40%,transparent 100%);pointer-events:none}.portfolio__slide-content{position:absolute;bottom:0;left:0;right:0;padding:3rem 2.5rem 2rem;color:var(--color-text);z-index:2}.portfolio__slide-title{margin:0 0 .75rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.3)}.portfolio__slide-description{margin:0 0 1rem;font-size:clamp(.9375rem,1.3vw,1.0625rem);line-height:1.7;color:var(--color-text-secondary);text-shadow:0 1px 4px rgba(0,0,0,.2);max-width:80%}.portfolio__slide-meta{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(var(--color-border-rgb),.3)}.portfolio__slide-count{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.portfolio__control{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;background:rgba(var(--color-bg-rgb),.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(var(--color-border-rgb),.2);box-shadow:0 8px 24px var(--color-shadow);display:flex;align-items:center;justify-content:center;opacity:.9;transition:all .3s ease;z-index:10}.portfolio__control:hover{opacity:1;background:var(--color-accent);border-color:var(--color-accent);transform:translateY(-50%) scale(1.1)}.portfolio__control:hover .portfolio__control-icon{color:#fff}.portfolio__control:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.portfolio__control-icon{color:var(--color-accent);transition:color .3s ease}.portfolio__control--prev{left:1.5rem}.portfolio__control--next{right:1.5rem}@media(max-width:1024px){.portfolio__carousel-track{height:500px;min-height:500px}.portfolio__slide-content{padding:2.5rem 2rem 1.5rem}.portfolio__control--prev{left:1rem}.portfolio__control--next{right:1rem}}@media(max-width:768px){.portfolio{padding:2rem 1rem}.portfolio__carousel-track{height:450px;min-height:450px}.portfolio__slide-content{padding:2rem 1.5rem 1.25rem}.portfolio__slide-title{font-size:clamp(1.25rem,4vw,1.75rem)}.portfolio__slide-description{max-width:100%}.portfolio__control--prev{left:.5rem;width:48px;height:48px}.portfolio__control--next{right:.5rem;width:48px;height:48px}}@media(max-width:500px){.portfolio__carousel-track{height:400px;min-height:400px}.portfolio__slide-content{padding:1.5rem 1rem 1rem}.portfolio__slide-title{font-size:clamp(1.1rem,5vw,1.5rem)}}.projects-carousel{position:relative;overflow:hidden;border-radius:1rem;background:var(--color-bg-secondary);box-shadow:0 20px 60px var(--color-shadow)}.projects-carousel:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.projects-carousel__viewport{overflow:hidden;touch-action:pan-y}.projects-carousel__track{display:flex;transition:transform .6s cubic-bezier(.65,0,.35,1);will-change:transform}.projects-carousel__slide{position:relative;flex:0 0 100%;height:600px;overflow:hidden;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.projects-carousel__slide-bg{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background-size:cover;background-position:center;filter:blur(20px) brightness(.7);transform:scale(1.1);z-index:1}.projects-carousel__image,.projects-carousel__placeholder{position:relative;z-index:2}.projects-carousel__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 30px #0000004d}.projects-carousel__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-tertiary),var(--color-bg-secondary));color:var(--color-text-muted)}.projects-carousel__overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:linear-gradient(to top,rgba(var(--color-bg-rgb),.95) 0%,rgba(var(--color-bg-rgb),.55) 40%,transparent 100%)}.projects-carousel__badges{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;z-index:4}.projects-carousel__badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:999px;background:rgba(var(--color-bg-rgb),.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border);color:var(--color-text);font-size:.8rem;font-weight:600}.projects-carousel__caption{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:3rem 4.5rem 4rem;color:var(--color-text)}.projects-carousel__title{margin:0 0 .6rem;font-size:clamp(1.4rem,3vw,2.25rem);font-weight:700;line-height:1.2}.projects-carousel__description{margin:0;max-width:70ch;font-size:clamp(.95rem,1.3vw,1.075rem);line-height:1.7;color:var(--color-text-secondary)}.projects-carousel__indicators{position:absolute;left:0;right:0;bottom:1.25rem;z-index:4;display:flex;justify-content:center;gap:.6rem}.projects-carousel__dot{width:12px;height:12px;padding:0;border:none;border-radius:50%;background-color:var(--color-text-muted);opacity:.5;cursor:pointer;transition:all .3s ease}.projects-carousel__dot:hover{opacity:.85;transform:scale(1.2)}.projects-carousel__dot--active{width:28px;border-radius:999px;background-color:var(--color-accent);opacity:1}.projects-carousel__control{position:absolute;top:50%;z-index:4;display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border-radius:50%;border:1px solid rgba(var(--color-border-rgb),.25);background:rgba(var(--color-bg-rgb),.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px var(--color-shadow);color:var(--color-accent);cursor:pointer;transform:translateY(-50%);transition:all .3s ease}.projects-carousel__control--prev{left:1.25rem}.projects-carousel__control--next{right:1.25rem}.projects-carousel__control:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff;transform:translateY(-50%) scale(1.08)}.projects-carousel__control:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.projects-carousel__track{transition:none}}@media(max-width:1024px){.projects-carousel__slide{height:500px}}@media(max-width:768px){.projects-carousel__slide{height:440px}.projects-carousel__caption{padding:2rem 1.25rem 3.5rem}.projects-carousel__control{width:40px;height:40px}.projects-carousel__control--prev{left:.5rem}.projects-carousel__control--next{right:.5rem}.projects-carousel__description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}.portfolio__more{display:flex;justify-content:center;margin-top:2rem}.portfolio__more .btn{text-decoration:none}.testimonials{width:100%;padding:4rem 1rem;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg) 100%);color:var(--color-text)}.testimonials__container{max-width:1200px;margin:0 auto}.testimonials__title{font-size:clamp(1.8rem,5vw,3rem);font-weight:800;margin:0 0 3rem;text-align:center;color:var(--color-text)}.testimonials__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.testimonial-card{background-color:var(--color-bg);padding:2rem;border-radius:.75rem;border:1px solid var(--color-border);transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.testimonial-card:hover{transform:translateY(-8px);box-shadow:0 16px 32px var(--color-shadow);border-color:var(--color-accent)}.testimonial-card__rating{display:flex;gap:.25rem}.testimonial-card__star{color:var(--color-accent);font-size:1.2rem}.testimonial-card__text{margin:0;color:var(--color-text-secondary);line-height:1.8;font-style:italic}.testimonial-card__author{border-top:1px solid var(--color-border);padding-top:1rem}.testimonial-card__name{margin:0;font-weight:700;color:var(--color-text)}.testimonial-card__role{margin:.25rem 0 0;font-size:.9rem;color:var(--color-text-secondary)}@media(max-width:768px){.testimonials{padding:2rem 1rem}.testimonials__grid{gap:1.5rem}}.contact{width:100%;padding:4rem 1rem;background-color:var(--color-bg);color:var(--color-text)}.contact__container{max-width:1200px;margin:0 auto}.contact__title{font-size:clamp(1.8rem,5vw,3rem);font-weight:800;margin:0 0 .5rem;text-align:center;color:var(--color-text)}.contact__subtitle{font-size:1.1rem;text-align:center;color:var(--color-text-secondary);margin:0 0 3rem;line-height:1.6}.contact__content{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact__info{display:flex;flex-direction:column;gap:2rem}.contact__item{background-color:var(--color-bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--color-border)}.contact__item-title{font-size:1.125rem;font-weight:700;margin:0 0 .75rem;color:var(--color-text)}.contact__link{color:var(--color-accent);text-decoration:none;font-weight:600;transition:all .2s ease}.contact__link:hover{text-decoration:underline}.contact__form{display:flex;flex-direction:column;gap:1.5rem}.contact__form-group{display:flex;flex-direction:column;gap:.5rem}.contact__label{font-weight:600;color:var(--color-text);font-size:.95rem}.contact__input,.contact__textarea{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .2s ease}.contact__input:focus,.contact__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #d977061a}.contact__input::placeholder,.contact__textarea::placeholder{color:var(--color-text-secondary)}.contact__textarea{resize:vertical;min-height:120px}.contact__submit{background-color:var(--color-primary);color:var(--color-bg);border:none;padding:1rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.contact__submit:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 8px 16px var(--color-shadow)}.contact__submit:active{transform:translateY(0)}@media(max-width:768px){.contact{padding:2rem 1rem}.contact__content{grid-template-columns:1fr;gap:2rem}}.information{text-align:center;padding:3rem 1rem;background-color:var(--color-bg);color:var(--color-text)}.information__content{max-width:800px;margin:0 auto}.information__title{margin:0 0 1.5rem;line-height:1.2;color:var(--color-text)}.information__title--mobile{font-size:clamp(1.5rem,8vw,2.5rem)}.information__title--desktop{font-size:clamp(2rem,6vw,3.5rem)}.information__cta{display:inline-block;background-color:var(--color-primary);color:var(--color-bg);padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;font-weight:600;transition:all .3s ease;border:2px solid var(--color-primary)}.information__cta:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 5px 15px var(--color-shadow)}@media(max-width:768px){.information{padding:2rem 1rem}.information__title{margin-bottom:1rem}}body{margin:0;padding:0;height:100%;display:flex;flex-direction:column;overflow-y:hidden}#example{display:flex;flex-direction:row;min-width:100vw;height:100vh;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}#example::-webkit-scrollbar{display:none}.image-scroll{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg);height:100vh}.image-scroll__container{width:100%;height:100%}.image-scroll__content{flex:1;display:flex;flex-direction:row;height:100%;align-items:stretch}.image-scroll__img{width:100%;height:100%;object-fit:cover}.image-container{height:100vh;min-width:100vw;width:100vw;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;background-color:var(--color-bg);flex-shrink:0;gap:1rem}.image-container__wrapper{width:85%;max-width:900px;height:80%;max-height:700px;aspect-ratio:16/9;background:var(--color-bg-secondary);overflow:hidden;border-radius:1rem;box-shadow:0 25px 60px var(--color-shadow);position:relative}.image-container__img{width:100%;height:100%;object-fit:cover;display:block}.image-container__label{position:absolute;bottom:0;left:-19%;right:0;z-index:2;display:flex;flex-direction:column;align-items:stretch;pointer-events:none}.image-container__details{padding:2rem 2.5rem 1.25rem;background:linear-gradient(to top,rgba(var(--color-bg-rgb),.98),rgba(var(--color-bg-rgb),.85),rgba(var(--color-bg-rgb),.4),transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:0 0 1rem 1rem;color:var(--color-text);display:flex;flex-direction:column;gap:1rem;pointer-events:auto;max-width:100%}.image-container__title{margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:700;letter-spacing:-1.5px;line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.35)}.image-container__desc{margin:0;font-size:clamp(.9375rem,1.3vw,1.0625rem);line-height:1.7;color:var(--color-text-secondary);font-weight:400;text-shadow:0 1px 6px rgba(0,0,0,.25);max-width:85%}.image-container__toggle{align-self:center;margin:1rem auto 0;padding:.75rem 1.75rem;font-size:clamp(.8125rem,1.6vw,.9375rem);font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-accent);background:rgba(var(--color-bg-rgb),.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(var(--color-accent),.35);border-radius:2.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 24px #00000040;z-index:10}.image-container__toggle:hover{background:rgba(var(--color-accent),.15);border-color:var(--color-accent);transform:translateY(-3px);box-shadow:0 8px 28px rgba(var(--color-accent-rgb),.35)}.image-container__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.image-container__toggle:active{transform:translateY(0)}@media(max-width:1024px){.image-container{gap:.75rem}.image-container__wrapper{width:90%;max-width:700px;height:78%}.image-container__label{left:-22%;right:0}.image-container__details{padding:1.75rem 2rem 1rem;background:linear-gradient(to top,rgba(var(--color-bg-rgb),.97),rgba(var(--color-bg-rgb),.8),rgba(var(--color-bg-rgb),.35),transparent);border-radius:0 0 .875rem .875rem;gap:.875rem}.image-container__title{font-size:clamp(1.5rem,3.5vw,2.25rem)}.image-container__desc{font-size:clamp(.875rem,1.4vw,1rem);max-width:90%}.image-container__toggle{margin:.75rem auto 0;padding:.625rem 1.5rem;font-size:.8125rem}}@media(max-width:768px){.image-container{gap:.5rem}.image-container__wrapper{width:95%;max-width:100%;height:75%;aspect-ratio:16/9;border-radius:.75rem}.image-container__label{left:-21%;right:0}.image-container__details{padding:1.5rem 1.5rem .75rem;background:linear-gradient(to top,rgba(var(--color-bg-rgb),.98),rgba(var(--color-bg-rgb),.88),rgba(var(--color-bg-rgb),.55),transparent);border-radius:0 0 .75rem .75rem;gap:.75rem}.image-container__title{font-size:clamp(1.375rem,4.5vw,2rem)}.image-container__desc{font-size:clamp(.875rem,2.5vw,1rem);max-width:100%}.image-container__toggle{padding:.5rem 1.25rem;font-size:.75rem;margin:.5rem auto 0}}@media(max-width:500px){.image-container{gap:.4rem}.image-container__wrapper{width:100%;height:70%;aspect-ratio:16/9;border-radius:.5rem}.image-container__label{left:0;right:0}.image-container__details{padding:1.25rem 1.25rem .5rem;background:linear-gradient(to top,rgba(var(--color-bg-rgb),.99),rgba(var(--color-bg-rgb),.9),rgba(var(--color-bg-rgb),.65),transparent);border-radius:0 0 .5rem .5rem;gap:.625rem}.image-container__title{font-size:clamp(1.25rem,5.5vw,1.625rem)}.image-container__desc{font-size:.875rem}.image-container__toggle{padding:.4rem 1rem;font-size:.7rem;margin:.375rem auto 0}}.image-scroll__nav{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:.75rem;z-index:20;padding:.5rem 1rem;background:rgba(var(--color-bg-rgb),.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:2rem;border:1px solid rgba(var(--color-border-rgb),.2);box-shadow:0 8px 24px var(--color-shadow)}.image-scroll__nav-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-text-secondary);background:transparent;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0}.image-scroll__nav-dot:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-accent);opacity:0;transform:scale(0);transition:all .3s ease}.image-scroll__nav-dot:hover{border-color:var(--color-accent);transform:scale(1.2)}.image-scroll__nav-dot:hover:after{opacity:1;transform:scale(1)}.image-scroll__nav-dot:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media(max-width:768px){.image-scroll__nav{bottom:1.5rem;gap:.5rem;padding:.4rem .75rem}.image-scroll__nav .image-scroll__nav-dot{width:10px;height:10px}.image-scroll__nav .image-scroll__nav-dot:after{width:5px;height:5px}}@media(max-width:500px){.image-scroll__nav{bottom:1rem;gap:.4rem}}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 18px 40px var(--color-shadow);animation:slideUp .3s ease-out}.cookie-banner__content{flex:1}.cookie-banner__title{margin:0 0 .4rem;font-size:1rem;font-weight:700;color:var(--color-text)}.cookie-banner__text{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.cookie-banner__actions{display:flex;gap:.75rem;flex-shrink:0}.cookie-banner__btn{padding:.65rem 1rem;border-radius:.5rem;border:none;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem;white-space:nowrap}.cookie-banner__btn--accept{background-color:var(--color-primary);color:var(--color-bg)}.cookie-banner__btn--accept:hover{background-color:var(--color-primary-hover)}.cookie-banner__btn--decline{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}.cookie-banner__btn--decline:hover{background-color:var(--color-bg-secondary)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.cookie-banner{left:.5rem;right:.5rem;bottom:.5rem;flex-direction:column;align-items:flex-start;padding:1rem}.cookie-banner__actions{width:100%}.cookie-banner__btn{flex:1}}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-in-out}.popup{background-color:var(--color-bg);color:var(--color-text);padding:2rem;border-radius:.75rem;box-shadow:0 20px 40px var(--color-shadow);position:relative;max-width:500px;width:90%;border:1px solid var(--color-border);animation:slideUp .3s ease-out}.popup__close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-secondary);transition:color .2s ease}.popup__close:hover{color:var(--color-text)}.popup__content{margin-top:.5rem}.popup__content p{margin:0;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.popup{padding:1.5rem;width:95%}.popup__close{top:.75rem;right:.75rem;font-size:1.25rem}}.legal-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease-in-out;overflow-y:auto}.legal-modal{background-color:var(--color-bg);color:var(--color-text);border-radius:1rem;box-shadow:0 25px 60px var(--color-shadow);position:relative;max-width:800px;width:100%;max-height:90vh;border:1px solid var(--color-border);animation:slideUp .3s ease-out;display:flex;flex-direction:column;overflow:hidden}.legal-modal__header{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:rgba(var(--color-bg-secondary),.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:sticky;top:0;z-index:1}.legal-modal__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:.75rem;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;flex-shrink:0}.legal-modal__icon-svg{width:28px;height:28px}.legal-modal__title{margin:0;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:700;line-height:1.3;flex:1}.legal-modal__close{position:static;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-border),.3);border:none;border-radius:.5rem;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.legal-modal__close:hover{background:var(--color-accent);color:#fff}.legal-modal__body{flex:1;overflow-y:auto;padding:2rem}.legal-modal__section{margin-bottom:2rem}.legal-modal__section:last-child{margin-bottom:0}.legal-modal__section-title{margin:0 0 .75rem;font-size:1.1rem;font-weight:600;color:var(--color-accent);padding-bottom:.5rem;border-bottom:1px solid rgba(var(--color-border),.5)}.legal-modal__section-content{line-height:1.8;color:var(--color-text-secondary)}.legal-modal__section-content p{margin:0 0 .75rem}.legal-modal__section-content p:last-child{margin-bottom:0}.legal-modal__section-content ul{margin:.5rem 0 .5rem 1.5rem;padding:0}.legal-modal__section-content ul li{margin-bottom:.5rem;line-height:1.7}@media(max-width:768px){.legal-modal{max-height:95vh;border-radius:.75rem;margin:.5rem}.legal-modal__header{padding:1rem 1.25rem;gap:.75rem}.legal-modal__header .legal-modal__icon{width:40px;height:40px}.legal-modal__header .legal-modal__icon .legal-modal__icon-svg{width:24px;height:24px}.legal-modal__title{font-size:1.1rem}.legal-modal__body{padding:1.5rem 1.25rem}.legal-modal__section-title{font-size:1rem}}@media(max-width:500px){.legal-modal-overlay{padding:.5rem;align-items:flex-start}.legal-modal{max-height:100%;border-radius:0;height:100%;min-height:100%}.legal-modal__header{position:sticky;top:0;border-radius:0}.legal-modal__body{padding:1rem 1rem 2rem}}.legal-page{width:100%;min-height:100vh;background-color:var(--color-bg);color:var(--color-text);padding:4rem 1rem}.legal-page__container{max-width:900px;margin:0 auto}.legal-page__intro{font-size:1.1rem;line-height:1.8;color:var(--color-text-secondary);margin:0 0 2rem}.legal-page h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;margin:0 0 1rem}.legal-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.legal-section:last-child{border-bottom:none}.legal-section h2{font-size:1.5rem;font-weight:700;margin:0 0 1rem;color:var(--color-text)}.legal-section p{margin:0;line-height:1.8;color:var(--color-text-secondary)}@media(max-width:768px){.legal-page{padding:2rem 1rem}}.login-page{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;padding:2rem 1rem;overflow:hidden;background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-bg-secondary) 100%)}.login-page__background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-page__shape{position:absolute;border-radius:50%;background:var(--color-accent);opacity:.12;filter:blur(60px);animation:login-float 12s ease-in-out infinite}.login-page__shape--1{width:320px;height:320px;top:-80px;left:-80px}.login-page__shape--2{width:260px;height:260px;bottom:-60px;right:8%;animation-delay:-4s}.login-page__shape--3{width:200px;height:200px;top:40%;right:-60px;animation-delay:-8s}.login-page__container{position:relative;z-index:1;width:100%;max-width:440px}.login-page__card{width:100%}.login-page__header{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;text-align:center}.login-page__logo{display:flex;align-items:center;gap:.6rem}.login-page__logo-icon{color:var(--color-accent)}.login-page__logo-text{margin:0;letter-spacing:.05em}.login-page__title{margin:.5rem 0 0}.login-page__subtitle{margin:0}.login-page__body{padding-top:0}.login-page__form{display:flex;flex-direction:column;gap:.25rem}.login-page__error{margin-bottom:1rem;padding:.75rem 1rem;background-color:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error);border-radius:.5rem;font-size:.9rem}.login-page__options{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.25rem 0 1.25rem;flex-wrap:wrap}.login-page__checkbox{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.login-page__checkbox-input{width:1rem;height:1rem;accent-color:var(--color-accent);cursor:pointer}.login-page__checkbox-label{font-size:.875rem;color:var(--color-text-secondary)}.login-page__forgot-link{padding:0;border:none;background:none;font:inherit;cursor:pointer;font-size:.875rem;color:var(--color-accent)}.login-page__forgot-link:hover{text-decoration:underline}.login-page__submit-btn{width:100%}.login-page__demo{margin-top:1.25rem;padding:.85rem 1rem;background-color:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:.5rem;text-align:center}.login-page__demo-text{display:block;margin-bottom:.35rem}.login-page__demo-credentials{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text)}.login-page__footer{border-top:1px solid var(--color-border)}.login-page__back-link{color:var(--color-text-secondary)}.login-page__support-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0000008c;animation:login-fade .2s ease-out;overscroll-behavior:contain;overflow-y:auto}.login-page__support-dialog{position:relative;display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:1.5rem;background-color:var(--color-card);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 24px 60px var(--color-shadow-hover);outline:none}.login-page__support-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.login-page__support-icon{color:var(--color-accent)}.login-page__support-close{margin:-.375rem -.375rem 0 0}@keyframes login-float{0%,to{transform:translate(0)}50%{transform:translate(20px,-25px)}}@keyframes login-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.login-page__shape,.login-page__support-overlay{animation:none}}.admin-page{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem;color:var(--color-text)}.admin-page__loading{display:flex;align-items:center;justify-content:center;min-height:50vh}.admin-page__error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem;text-align:center;padding:2rem}.admin-page__error-icon{color:var(--color-error);opacity:.7}.admin-page__error-text{max-width:480px}.admin-page__error-actions{display:flex;justify-content:center}.admin-page__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-page__header-left{display:flex;flex-direction:column;gap:.25rem}.admin-page__header-right{display:flex;align-items:center;gap:.75rem}.admin-page__title{margin:0;text-wrap:balance}.admin-page__subtitle{margin:0}.admin-page h2,.admin-page h3{text-wrap:balance}.admin-page__feedback{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:.625rem;background-color:var(--color-bg-secondary)}.admin-page__feedback--success{border-color:var(--color-success)}.admin-page__feedback--error{border-color:var(--color-error);background-color:var(--color-error-light)}.admin-page__feedback-text{flex:1;min-width:0}.admin-page__feedback-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:.25rem;border:none;border-radius:.25rem;background:none;color:var(--color-text-secondary);cursor:pointer;transition:color .2s ease}.admin-page__feedback-close:hover{color:var(--color-text)}.admin-page__tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border);overflow-x:auto}.admin-page__tab{padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-family:inherit;font-size:.95rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .2s ease,border-bottom-color .2s ease}.admin-page__tab:hover{color:var(--color-text)}.admin-page__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.admin-page button:focus-visible,.admin-page [role=tab]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.admin-page__content{display:flex;flex-direction:column;gap:1.5rem}.admin-page__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.admin-page__stat{display:flex;align-items:center;gap:1rem}.admin-page__stat-icon{color:var(--color-accent);flex-shrink:0}.admin-page__stat-info{display:flex;flex-direction:column}.admin-page__stat-value{margin:0;font-variant-numeric:tabular-nums}.admin-page__stat-label{margin:0}.admin-page__section-title{margin:0 0 1rem}.admin-page__empty{margin:0;padding:1rem 0;text-align:center}.admin-page__project-list{display:flex;flex-direction:column;gap:.5rem}.admin-page__project-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.admin-page__project-item:last-child{border-bottom:none}.admin-page__project-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.admin-page__project-actions,.admin-page__action-buttons{display:flex;align-items:center;gap:.5rem}.admin-page__delete-btn{color:var(--color-error)}.admin-page__delete-btn:hover:not(:disabled){background-color:var(--color-error-light)}.admin-page__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-page__table-card{overflow:hidden}.admin-page__table-body{padding:0}.admin-page__table-wrapper{width:100%;overflow-x:auto}.admin-page__table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.admin-page__table th,.admin-page__table td{padding:.9rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border)}.admin-page__table th{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background-color:var(--color-bg-secondary)}.admin-page__table tbody tr{transition:background-color .2s ease}.admin-page__table tbody tr:hover{background-color:var(--color-bg-secondary)}.admin-page__table tbody tr:last-child td{border-bottom:none}.admin-page__table-loading{display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem}.admin-page__pagination{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--color-border)}.admin-page__history-header{display:flex;flex-direction:column;gap:.15rem}.admin-page__project-thumb{display:block;width:64px;height:44px;object-fit:cover;border-radius:.375rem}.admin-page__no-image{display:flex;align-items:center;justify-content:center;width:64px;height:44px;background-color:var(--color-bg-tertiary);border-radius:.375rem;color:var(--color-text-muted)}.admin-page__description-cell{display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-page__upload-section{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.admin-page__upload-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.admin-page__upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:140px;border:2px dashed var(--color-border);border-radius:.625rem;padding:1.5rem;background-color:var(--color-bg-secondary);transition:border-color .2s ease,background-color .2s ease;cursor:pointer;position:relative;overflow:hidden}.admin-page__upload-area:hover{border-color:var(--color-accent);background-color:var(--color-accent-light)}.admin-page__upload-area:has(input:focus){outline:2px solid var(--color-accent);outline-offset:2px}.admin-page__upload-icon{color:var(--color-text-muted)}.admin-page__upload-hint{font-size:.75rem;opacity:.7}.admin-page__file-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.admin-page__upload-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem}.admin-page__upload-error{padding:.25rem 0}.admin-page__image-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-top:.5rem}.admin-page__image-thumb{position:relative;width:80px;height:64px;border-radius:.375rem;overflow:hidden;border:1px solid var(--color-border);background-color:var(--color-bg-tertiary)}.admin-page__image-preview-img{width:100%;height:100%;object-fit:cover;display:block}.admin-page__image-remove{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:9999px;background-color:#b22222e6;color:var(--color-bg);cursor:pointer;transition:background-color .2s ease,transform .2s ease}.admin-page__image-remove:hover{background-color:var(--color-error);transform:scale(1.1)}.admin-page__image-remove:focus{outline:1px solid var(--color-error);outline-offset:1px}.admin-page__empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;text-align:center}.admin-page__empty-icon{color:var(--color-text-muted)}.admin-page__empty-title,.admin-page__empty-text{margin:0}.admin-page__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0000008c;animation:admin-fade .2s ease-out;overscroll-behavior:contain;overflow-y:auto}.admin-page__modal{width:100%;max-width:640px;max-height:90vh;overflow-y:auto;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 24px 60px var(--color-shadow-hover)}.admin-page__modal>.card__header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.admin-page__modal>.card__body{padding:1.5rem}.admin-page__project-form{display:flex;flex-direction:column;gap:.25rem}.admin-page__form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.admin-page__confirm{max-width:440px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;outline:none}.admin-page__confirm-body{display:flex;flex-direction:column;gap:.75rem}.admin-page__confirm-icon{color:var(--color-error)}.admin-page__confirm-item{display:block;max-height:6rem;overflow-y:auto;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-bg-secondary);word-break:break-word}.admin-page__confirm .admin-page__form-actions{margin-top:0}@keyframes admin-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.admin-page *,.admin-page *:before,.admin-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:768px){.admin-page{padding:1.25rem 1rem 3rem}}.reviews-page{width:100%;padding:3rem 1rem 5rem;background-color:var(--color-bg);color:var(--color-text)}.reviews-page__container{max-width:1200px;margin:0 auto}.reviews-page__header{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:3rem;text-align:center}.reviews-page__title{margin:0}.reviews-page__subtitle{margin:0;max-width:60ch}.reviews-page__cta{margin-top:.75rem}.reviews-page__layout{display:flex;flex-direction:column;gap:1.5rem}.reviews-page__toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.reviews-page__count{font-weight:600;color:var(--color-text-secondary)}.reviews-page__filter{display:flex;flex-direction:column;min-width:220px}.reviews-page__filter .label{margin-bottom:.25rem}.reviews-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.reviews-page__more{display:flex;justify-content:center;margin-top:2rem}.reviews-page__state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 1rem;text-align:center}.reviews-page__state-icon{opacity:.4}.reviews-page__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0000008c;animation:reviews-fade .2s ease-out;overflow-y:auto}.reviews-page__modal{width:100%;max-width:560px;background-color:var(--color-bg);border-radius:.75rem;box-shadow:0 24px 60px var(--color-shadow-hover);overflow:hidden}.reviews-page__modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.reviews-page__modal-body{padding:1.5rem;max-height:calc(90vh - 60px);overflow-y:auto}.review-card{height:100%}.review-card__project{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;padding:.2rem .6rem;margin-bottom:.75rem;border-radius:999px;background:var(--color-accent-light);color:var(--color-accent);font-size:.75rem;font-weight:600}.review-card__error{margin:.5rem 0 0;font-size:.8rem;color:var(--color-error)}.review-form{display:flex;flex-direction:column;gap:1.1rem;padding:1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 10px 30px var(--color-shadow)}.review-form__title{margin:0}.review-form__subtitle{margin:-.6rem 0 0}.review-form__field{display:flex;flex-direction:column;min-width:0}.review-form__field .label{margin-bottom:.4rem}.review-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.review-form__textarea{resize:vertical;min-height:120px;line-height:1.6;font-family:inherit}.review-form__select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.review-form__meta{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:.35rem}.review-form__meta .input__error{margin:0}.review-form__counter{margin-left:auto;font-size:.8rem;color:var(--color-text-muted)}.review-form__counter--over{color:var(--color-error);font-weight:600}.review-form__alert{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.9rem;border:1px solid transparent}.review-form__alert--success{background:var(--color-success-light);color:var(--color-success);border-color:var(--color-success)}.review-form__alert--error{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}@media(max-width:960px){.reviews-page__layout{gap:1rem}}@media(max-width:480px){.review-form__row{grid-template-columns:1fr}}.reviews__cta{display:flex;justify-content:center;margin-top:2.5rem}.project-card{display:grid;grid-template-columns:minmax(200px,38%) 1fr;overflow:hidden;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-bg-secondary);box-shadow:0 8px 24px var(--color-shadow)}.project-card__media{position:relative;min-height:220px;background:var(--color-bg-tertiary);overflow:hidden}.project-card__media-bg{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background-size:cover;background-position:center;filter:blur(15px) brightness(.7);transform:scale(1.1);z-index:1}.project-card__image,.project-card__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.project-card__image{object-fit:contain;z-index:2}.project-card__placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.project-card__body{display:flex;flex-direction:column;justify-content:center;gap:.75rem;padding:1.5rem 2rem}.project-card__title{margin:0;color:var(--color-text)}.project-card__description{margin:0;line-height:1.6}@media(max-width:560px){.project-card{grid-template-columns:1fr}.project-card__media{min-height:200px}.project-card__body{padding:1.25rem}}.projects-page{padding:3rem 1rem 4rem;background:var(--color-bg);color:var(--color-text)}.projects-page__container{max-width:1000px;margin:0 auto}.projects-page__back{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:1.5rem;font-weight:600;color:var(--color-accent);text-decoration:none}.projects-page__back:hover{text-decoration:underline}.projects-page__header{margin-bottom:2.5rem;text-align:center}.projects-page__title{font-size:clamp(1.8rem,5vw,3rem);margin:0 0 .5rem}.projects-page__subtitle{margin:0}.projects-page__list{display:flex;flex-direction:column;gap:1.5rem}.projects-page__state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;text-align:center}.projects-page__more{display:flex;justify-content:center;margin-top:2rem}.hero{position:relative;overflow:hidden}.hero__background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero__container{position:relative;width:100%;max-width:1200px;margin:0 auto}.hero__visual,.hero__scroll-indicator{display:none}.hero__scroll-icon{transform:rotate(90deg)}.about__feature-body,.service-card__body{padding:0}.about__feature-body{display:flex;flex-direction:column;align-items:flex-start}.feature-check{color:var(--color-accent)}.reviews__loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 0}.reviews__loading-text,.reviews__empty-text{margin:0;text-align:center}.footer__container{max-width:1200px;margin:0 auto}.footer__brand{display:flex;align-items:center;gap:.5rem;margin:0}.footer__brand-icon{color:var(--color-accent)}.footer__description{margin:0;font-size:.875rem;line-height:1.6}.footer__contact{display:flex;flex-direction:column;gap:.6rem;font-style:normal}.footer__contact-item{display:flex;align-items:center;gap:.6rem}.footer__contact-icon{color:var(--color-accent);flex-shrink:0}.footer__contact-link{color:var(--color-text-secondary);text-decoration:none}.footer__contact-link:hover{color:var(--color-accent)}.footer__links-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.footer__social-link--instagram:hover{background-color:#e1306c;color:#fff;border-color:#e1306c}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;text-align:left}.footer__made-with{text-align:right}@media(max-width:768px){.footer__bottom{flex-direction:column;text-align:center}.footer__made-with{text-align:center}}.cookie-banner{display:block}.cookie-banner__container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%}.cookie-banner__content{display:flex;align-items:center;gap:1rem;flex:1}.cookie-banner__icon{color:var(--color-accent);flex-shrink:0}.cookie-banner__description{margin:0;font-size:.9rem;line-height:1.5;color:var(--color-text-secondary)}@media(max-width:768px){.cookie-banner__container{flex-direction:column;align-items:stretch}}.legal-modal__section-text{margin:0;line-height:1.7}.legal-page__card{margin-bottom:2rem}.legal-page__title{margin:0 0 1rem}.legal-page__section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.legal-page__section:last-child{border-bottom:none}.legal-page__section-title{margin:0 0 .75rem}.legal-page__section-text{margin:0;line-height:1.8}.auth-layout{min-height:100vh}.auth-main{align-items:center;justify-content:center}
