.hero__headline{font-family:var(--typo-h1-family);font-size:var(--typo-h1-size);font-weight:var(--typo-h1-weight);line-height:var(--typo-h1-line-height);color:var(--color-brand-primary);letter-spacing:var(--typo-h1-letter-spacing,normal);margin-bottom:var(--spacing-content-md)}.hero__subline{font-family:var(--typo-h5-family);font-size:var(--typo-h5-size);line-height:var(--typo-h5-line-height);color:var(--color-text-secondary);margin-bottom:var(--spacing-content-lg)}.hero__cta{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2.5rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:white;background-color:var(--color-brand-secondary);border-radius:34px;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 14px rgba(243,168,20,.3)}.hero__cta:hover{box-shadow:0 6px 20px rgba(243,168,20,.4);transform:translateY(-3px)}.hero__cta--secondary{background-color:var(--color-brand-secondary)}.hero__cta--outline{background-color:transparent;border:2px solid var(--color-brand-primary);color:var(--color-brand-primary)}.hero__media{margin:0;width:100%}.hero__image{width:100%;height:auto;border-radius:var(--radius-lg);-o-object-fit:cover;object-fit:cover}.hero--centered .hero__content{max-width:48rem}.hero--split-left .hero__content,.hero--split-right .hero__content{display:flex;flex-direction:column;justify-content:center}@media (max-width:768px){.hero__headline{font-size:var(--typo-h2-size)}.hero__subline{font-size:var(--typo-body-size)}}.features__heading{font-family:var(--typo-h2-family);font-size:var(--typo-h2-size);font-weight:var(--typo-h2-weight);line-height:var(--typo-h2-line-height);color:var(--color-brand-primary);margin-bottom:var(--spacing-content-sm)}.features__subheading{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:var(--color-text-secondary);max-width:48rem;margin:0 auto}.features__list{list-style:none;margin:0;padding:0}.features__item{margin:0}.features__article{height:100%;display:flex;flex-direction:column;padding:2rem;background-color:#ffffff;border-radius:16px;transition:all .3s ease;box-shadow:0 2px 12px rgba(0,0,0,.06)}.features__article:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(69,13,179,.12)}.features__icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-content-md);display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background-color:#E8E1F5;color:var(--color-brand-primary);border-radius:14px}.features__item-title{font-family:var(--typo-h5-family);font-size:var(--typo-h5-size);font-weight:var(--typo-h5-weight);line-height:var(--typo-h5-line-height);color:var(--color-brand-primary);margin-bottom:var(--spacing-content-sm)}.features__item-description{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:#555}@media (max-width:768px){.features__heading{font-size:var(--typo-h3-size)}}.cta{position:relative;overflow:hidden}.cta--simple{background-color:var(--color-background-secondary)}.cta--gradient{background:linear-gradient(135deg,var(--color-brand-primary) 0,var(--color-brand-secondary) 100%)}.cta--gradient .cta__description,.cta--gradient .cta__headline,.cta--with-image .cta__description,.cta--with-image .cta__headline{color:white}.cta__headline{font-family:var(--typo-h2-family);font-size:var(--typo-h2-size);font-weight:var(--typo-h2-weight);line-height:var(--typo-h2-line-height);color:var(--color-brand-primary);margin-bottom:var(--spacing-content-md)}.cta__description{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:var(--color-text-secondary);margin-bottom:var(--spacing-content-lg);max-width:36rem;margin-left:auto;margin-right:auto}.cta__button{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2.5rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:white;background-color:var(--color-brand-secondary);border-radius:34px;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 14px rgba(243,168,20,.3)}.cta__button:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(243,168,20,.4)}.cta--gradient .cta__button,.cta--with-image .cta__button{background-color:var(--color-brand-secondary);color:white}.cta__button--secondary{background-color:var(--color-brand-secondary)}.cta__button--outline{background-color:transparent;border:2px solid var(--color-brand-primary);color:var(--color-brand-primary)}.cta--gradient .cta__button--outline,.cta--with-image .cta__button--outline{border-color:white;color:white}@media (max-width:768px){.cta__headline{font-size:var(--typo-h3-size)}.cta__description{font-size:var(--typo-body-small-size)}.cta__button{padding:.75rem 2rem;font-size:var(--font-size-base)}}.text-block__prose{font-family:var(--typo-body-family);color:var(--color-text-primary)}.text-block__prose h2{font-family:var(--typo-h2-family);font-size:var(--typo-h2-size);font-weight:var(--typo-h2-weight);line-height:var(--typo-h2-line-height);color:var(--color-brand-primary);letter-spacing:var(--typo-h2-letter-spacing,normal);margin-top:var(--spacing-content-xl);margin-bottom:var(--spacing-content-md)}.text-block__prose h3{font-family:var(--typo-h3-family);font-size:var(--typo-h3-size);font-weight:var(--typo-h3-weight);line-height:var(--typo-h3-line-height);color:var(--color-brand-primary);margin-top:var(--spacing-content-lg);margin-bottom:var(--spacing-content-sm)}.text-block__prose h4{font-family:var(--typo-h4-family);font-size:var(--typo-h4-size);font-weight:var(--typo-h4-weight);line-height:var(--typo-h4-line-height);color:var(--color-text-primary);margin-top:var(--spacing-content-md);margin-bottom:var(--spacing-content-sm)}.text-block__prose p{font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:#242424;margin-bottom:var(--spacing-content-md)}.text-block__prose a{color:var(--color-brand-primary);text-decoration:underline;text-underline-offset:2px;transition:opacity .2s ease}.text-block__prose a:hover{opacity:.8}.text-block__prose strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.text-block__prose em{font-style:italic}.text-block__prose ol,.text-block__prose ul{margin-left:var(--spacing-content-md);margin-bottom:var(--spacing-content-md)}.text-block__prose li{margin-bottom:var(--spacing-content-sm);line-height:var(--typo-body-line-height)}.text-block__prose ul{list-style-type:disc}.text-block__prose ol{list-style-type:decimal}.text-block__prose blockquote{padding-left:var(--spacing-content-md);border-left:4px solid var(--color-brand-primary);font-style:italic;color:var(--color-text-secondary);margin:var(--spacing-content-lg) 0}.text-block__prose code{font-family:ui-monospace,monospace;font-size:.9em;padding:.2em .4em;border-radius:var(--radius-sm)}.text-block__prose code,.text-block__prose pre{background-color:var(--color-background-secondary)}.text-block__prose pre{padding:var(--spacing-content-md);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--spacing-content-md)}.text-block__prose pre code{background-color:transparent;padding:0}@media (max-width:768px){.text-block__prose h2{font-size:var(--typo-h3-size)}.text-block__prose h3{font-size:var(--typo-h4-size)}}.faq__header{text-align:center;margin-bottom:2.5rem}.faq__heading{font-family:var(--typo-h2-family);font-size:var(--typo-h2-size);font-weight:var(--typo-h2-weight);line-height:var(--typo-h2-line-height);color:var(--color-brand-primary);margin-bottom:var(--spacing-content-sm)}.faq__subheading{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:var(--color-text-secondary);max-width:40rem;margin:0 auto}.faq__accordion{display:flex;flex-direction:column;gap:12px}.faq__item{background-color:#ffffff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.04);transition:box-shadow .3s ease,border-color .3s ease,border-left .3s ease;overflow:hidden}.faq__item:hover{box-shadow:0 4px 16px rgba(69,13,179,.08)}.faq__item--open{border-left:4px solid var(--color-brand-secondary);background-color:#F9F7FC;box-shadow:0 6px 20px rgba(69,13,179,.1)}.faq__question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.25rem 1.5rem;border:none;background:transparent;cursor:pointer;text-align:left;gap:1rem;transition:color .2s ease}.faq__question:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:-2px;border-radius:12px}.faq__question-text{font-family:var(--typo-h5-family);font-size:var(--typo-h5-size);font-weight:var(--typo-h5-weight);line-height:var(--typo-h5-line-height);color:#242424;transition:color .2s ease}.faq__item--open .faq__question-text,.faq__question:hover .faq__question-text{color:var(--color-brand-primary)}.faq__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;background-color:#E8E1F5;border-radius:50%;transition:transform .3s ease,background-color .3s ease}.faq__icon svg{width:18px;height:18px;color:var(--color-brand-secondary);transition:color .3s ease}.faq__icon--open{transform:rotate(180deg);background-color:var(--color-brand-secondary)}.faq__icon--open svg{color:#ffffff}.faq__answer{overflow:hidden;transition:max-height .35s ease,opacity .3s ease}.faq__answer-content{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:#555;padding:0 1.5rem 1.25rem}.faq__answer-content p{margin:0 0 .75rem}.faq__answer-content p:last-child{margin-bottom:0}.faq__answer-content a{color:var(--color-brand-primary);text-decoration:underline;text-underline-offset:2px;transition:opacity .2s ease}.faq__answer-content a:hover{opacity:.8}.faq__answer-content ol,.faq__answer-content ul{margin-left:1.25rem;margin-bottom:.75rem}.faq__answer-content li{margin-bottom:.25rem;line-height:1.7}.faq__list{display:flex;flex-direction:column;gap:12px}.faq__list-item{background-color:#ffffff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.04);padding:1.5rem;transition:box-shadow .3s ease,transform .3s ease}.faq__list-item:hover{box-shadow:0 6px 20px rgba(69,13,179,.1);transform:translateY(-2px)}.faq__list-question{font-family:var(--typo-h5-family);font-size:var(--typo-h5-size);font-weight:var(--typo-h5-weight);line-height:var(--typo-h5-line-height);color:var(--color-brand-primary);margin:0 0 .75rem}.faq__list-answer{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:#555}.faq__list-answer a{color:var(--color-brand-primary);text-decoration:underline;text-underline-offset:2px}.faq__two-col{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:768px){.faq__two-col{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.faq__col{display:flex;flex-direction:column;gap:12px}.faq__two-col .faq__list-item{background-color:#ffffff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.04);padding:1.5rem;transition:box-shadow .3s ease,transform .3s ease}.faq__two-col .faq__list-item:hover{box-shadow:0 6px 20px rgba(69,13,179,.1);transform:translateY(-2px)}@media (max-width:768px){.faq__heading{font-size:var(--typo-h3-size)}.faq__subheading{font-size:var(--typo-body-small-size)}.faq__question{padding:1rem 1.25rem}.faq__question-text{font-size:1rem}.faq__answer-content{padding:0 1.25rem 1rem;font-size:1rem}.faq__list-item{padding:1.25rem}.faq__list-answer,.faq__list-question{font-size:1rem}}.image-gallery__item{margin:0;display:flex;flex-direction:column;gap:var(--spacing-content-sm)}.image-gallery__image-wrapper{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--color-background-secondary);aspect-ratio:4/3}.image-gallery__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.image-gallery__image:hover{transform:scale(1.05)}.image-gallery__caption{font-family:var(--typo-caption-family);font-size:var(--typo-caption-size);line-height:var(--typo-caption-line-height);color:var(--color-text-secondary);text-align:center}.gallery__item{margin:0;display:flex;flex-direction:column;gap:var(--spacing-content-sm)}.gallery__image-wrapper{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--color-background-secondary)}.gallery--grid .gallery__image-wrapper{aspect-ratio:4/3}.gallery--masonry .gallery__image-wrapper{aspect-ratio:auto}.gallery--masonry .gallery__image{height:auto}.gallery--carousel .gallery__carousel{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.gallery--carousel .gallery__image-wrapper{aspect-ratio:4/3}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.gallery__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.gallery__image:hover{transform:scale(1.05)}.gallery__caption{font-family:var(--typo-caption-family);font-size:var(--typo-caption-size);line-height:var(--typo-caption-line-height);color:var(--color-text-secondary);text-align:center}.gallery__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-content-sm);padding:var(--spacing-content-xl) var(--spacing-content-lg);min-height:200px;border:2px dashed var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-background-secondary);cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.gallery__empty-state:hover{border-color:var(--color-brand-primary);background-color:rgba(0,0,0,.02)}.gallery__empty-icon{color:var(--color-text-secondary);opacity:.5}.gallery__empty-title{margin:0;font-family:var(--typo-body-family);font-size:var(--typo-body-size);font-weight:500;color:var(--color-text-secondary)}.gallery__empty-hint{margin:0;font-family:var(--typo-caption-family);font-size:var(--typo-caption-size);color:var(--color-text-muted)}.contact-form__heading{font-family:var(--typo-h2-family);font-size:var(--typo-h2-size);font-weight:var(--typo-h2-weight);line-height:var(--typo-h2-line-height);color:var(--color-text-primary);text-align:center;margin-bottom:var(--spacing-content-sm)}.contact-form__description{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--spacing-content-xl)}.contact-form__form{display:flex;flex-direction:column;gap:var(--spacing-content-lg)}.contact-form__field{display:flex;flex-direction:column;gap:var(--spacing-content-sm)}.contact-form__label{font-family:var(--typo-body-small-family);font-size:var(--typo-body-small-size);font-weight:var(--typo-body-small-weight);color:var(--color-text-primary)}.contact-form__required{color:var(--color-error);margin-left:.25rem}.contact-form__input,.contact-form__textarea{font-family:var(--typo-body-family);font-size:var(--typo-body-size);padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background-primary);color:var(--color-text-primary);transition:border-color .2s ease}.contact-form__input:focus,.contact-form__textarea:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand-primary) 15%,transparent)}.contact-form__textarea{resize:vertical;min-height:8rem}.contact-form__submit{font-family:var(--typo-body-family);font-size:var(--typo-body-size);font-weight:var(--typo-body-weight);padding:.875rem 2rem;color:white;background-color:var(--color-brand-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;align-self:flex-start}.contact-form__submit:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.contact-form__submit:disabled{opacity:.6;cursor:not-allowed}.contact-form__error{padding:var(--spacing-content-md);background-color:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.contact-form__success{padding:var(--spacing-content-xl);background-color:var(--color-success-light);border:1px solid var(--color-success-border);border-radius:var(--radius-lg);text-align:center}.contact-form__success-message{font-family:var(--typo-body-family);font-size:var(--typo-body-size);color:var(--color-success);font-weight:var(--typo-body-weight)}@media (max-width:768px){.contact-form__heading{font-size:var(--typo-h3-size)}}.header{background-color:var(--color-background-primary);border-bottom:1px solid var(--color-border);transition:all .3s ease;padding:0 1rem}@media (min-width:768px){.header{padding:0 1.5rem}}@media (min-width:1024px){.header{padding:0 2rem}}.header--transparent{background-color:transparent;border-bottom:none}.header--sticky{position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);background-color:rgba(255,255,255,.95)}.header__container{max-width:87.5rem;margin:0 auto}.header__wrapper{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.header__logo-link{display:flex;align-items:center;text-decoration:none}.header__logo-image{height:40px;width:auto}.header__logo-image--light{display:block}.header__logo-image--dark{display:none}@media (prefers-color-scheme:dark){.header__logo-image--light{display:none}.header__logo-image--dark{display:block}}.header__logo-text{font-family:var(--typo-h4-family);font-size:var(--typo-h4-size);font-weight:var(--typo-h4-weight);color:var(--color-text-primary)}.header__nav{display:none}@media (min-width:768px){.header__nav{display:block}}.header__nav-list{display:flex;gap:var(--spacing-content-lg);list-style:none;margin:0;padding:0;align-items:center}.header__nav-item{margin:0}.header__nav-link{font-family:var(--typo-body-family);font-size:var(--typo-body-size);font-weight:var(--typo-body-weight);color:var(--color-text-primary);text-decoration:none;transition:color .2s ease}.header__nav-link:hover{color:var(--color-brand-primary)}.header__menu-button{display:flex;align-items:center;justify-content:center;padding:.5rem;background:none;border:none;color:var(--color-text-primary);cursor:pointer}@media (min-width:768px){.header__menu-button{display:none}}.header__mobile-nav{padding-bottom:var(--spacing-content-md);border-top:1px solid var(--color-border);margin-top:var(--spacing-content-md)}@media (min-width:768px){.header__mobile-nav{display:none}}.header__mobile-nav-list{display:flex;flex-direction:column;gap:var(--spacing-content-sm);list-style:none;margin:0;padding:var(--spacing-content-md) 0 0}.header__mobile-nav-item{margin:0}.header__mobile-nav-link{display:block;font-family:var(--typo-body-family);font-size:var(--typo-body-size);font-weight:var(--typo-body-weight);color:var(--color-text-primary);text-decoration:none;padding:var(--spacing-content-sm);border-radius:var(--radius-md);transition:background-color .2s ease}.footer,.header__mobile-nav-link:hover{background-color:var(--color-background-secondary)}.footer{border-top:1px solid var(--color-border)}.footer__column-title{font-family:var(--typo-overline-family,var(--typo-caption-family));font-size:var(--typo-overline-size,var(--typo-caption-size));font-weight:var(--typo-overline-weight,var(--typo-caption-weight));color:var(--color-text-primary);margin-bottom:var(--spacing-content-md);text-transform:uppercase;letter-spacing:var(--typo-overline-letter-spacing,.05em)}.footer__link-list{display:flex;flex-direction:column;gap:var(--spacing-content-sm);list-style:none;margin:0;padding:0}.footer__link-item{margin:0}.footer__link{font-family:var(--typo-body-small-family);font-size:var(--typo-body-small-size);color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.footer__link:hover{color:var(--color-brand-primary)}.footer__social{display:flex;justify-content:center}.footer__social-list{display:flex;gap:var(--spacing-content-md);list-style:none;margin:0;padding:0}.footer__social-item{margin:0}.footer__social-link{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-family:var(--typo-body-small-family);font-size:var(--typo-body-small-size);color:var(--color-text-secondary);background-color:var(--color-background-primary);border-radius:var(--radius-full);text-decoration:none;transition:all .2s ease}.footer__social-link:hover{color:white;background-color:var(--color-brand-primary);transform:translateY(-2px)}.footer__bottom{display:flex;justify-content:center;align-items:center}.footer__copyright{font-family:var(--typo-body-small-family);font-size:var(--typo-body-small-size);color:var(--color-text-muted);font-style:normal;text-align:center}.testimonials{background:linear-gradient(135deg,#450DB3,#3a0a96);position:relative;overflow:hidden}.testimonials__header{text-align:center;margin-bottom:var(--spacing-content-xl)}.testimonials__heading{font-family:var(--typo-h2-family);font-size:var(--typo-h2-size);font-weight:var(--typo-h2-weight);line-height:var(--typo-h2-line-height);color:white;margin-bottom:var(--spacing-content-sm)}.testimonials__subheading{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:rgba(255,255,255,.7)}.testimonials__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-content-lg)}@media (min-width:768px){.testimonials__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.testimonials__grid{grid-template-columns:repeat(3,1fr)}}.testimonials__card{display:flex;flex-direction:column;padding:2rem;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:16px;gap:var(--spacing-content-md);position:relative;transition:all .3s ease}.testimonials__card:hover{background:rgba(255,255,255,.12);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.2)}.testimonials__card:before{content:"\201C";font-size:5rem;color:var(--color-brand-secondary);opacity:.4;position:absolute;top:.5rem;left:1.5rem;line-height:1;font-family:Georgia,serif;pointer-events:none}.testimonials__rating{display:flex;gap:.125rem}.testimonials__star{font-size:var(--font-size-lg)}.testimonials__star--filled{color:var(--color-brand-secondary)}.testimonials__star--empty{color:rgba(255,255,255,.2)}.testimonials__quote{font-family:var(--typo-body-family);font-size:var(--typo-body-size);line-height:var(--typo-body-line-height);color:rgba(255,255,255,.9);font-style:italic;flex-grow:1;padding-top:2rem}.testimonials__quote--large{font-size:var(--typo-h4-size);text-align:center;max-width:48rem;margin:0 auto}.testimonials__author-info{display:flex;align-items:center;gap:var(--spacing-content-md);padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.testimonials__avatar{width:48px;height:48px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid rgba(255,255,255,.2)}.testimonials__avatar--large{width:64px;height:64px}.testimonials__author-details{display:flex;flex-direction:column}.testimonials__author{font-family:var(--typo-body-family);font-size:var(--typo-body-size);font-weight:var(--typo-body-weight);color:white;font-style:normal}.testimonials__role{font-family:var(--typo-caption-family);font-size:var(--typo-caption-size);color:var(--color-brand-secondary)}.testimonials__quotes{display:flex;flex-direction:column;gap:var(--spacing-section-md)}.testimonials__quote-figure{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-content-lg);margin:0}.testimonials__figcaption{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-content-sm);text-align:center}@media (max-width:768px){.testimonials__heading{font-size:var(--typo-h3-size)}.testimonials__quote--large{font-size:var(--typo-h5-size)}}.tiptap-wrapper{position:relative}.tiptap-editor{outline:none;min-height:3rem;padding:.5rem;border-radius:.375rem;transition:all .2s ease}.tiptap-editor:focus{outline:2px solid var(--color-primary,#3b82f6);outline-offset:2px}.tiptap-editor.is-editor-empty:before{position:absolute}.tiptap-editor p.is-empty:before,.tiptap-editor.is-editor-empty:before{content:attr(data-placeholder);color:var(--color-text-muted,#9ca3af);pointer-events:none;height:0}.tiptap-editor p.is-empty:before{float:left}.tiptap-content{line-height:1.6}.tiptap-content p{margin-bottom:1rem}.tiptap-content p:last-child{margin-bottom:0}.tiptap-content h1,.tiptap-content h2,.tiptap-content h3,.tiptap-content h4,.tiptap-content h5,.tiptap-content h6{font-weight:600;margin-bottom:.75rem;line-height:1.2}.tiptap-content ol,.tiptap-content ul{padding-left:1.5rem;margin-bottom:1rem}.tiptap-content li{margin-bottom:.25rem}.tiptap-content a{color:var(--color-primary,#3b82f6);text-decoration:underline}.tiptap-content strong{font-weight:600}.tiptap-content em{font-style:italic}.tiptap-content blockquote{border-left:3px solid var(--color-border,#e5e7eb);padding-left:1rem;font-style:italic;color:var(--color-text-secondary,#6b7280)}.bubble-menu{display:flex;gap:.25rem;padding:.5rem;background:var(--color-bg-primary,#ffffff);border:1px solid var(--color-border,#e5e7eb);border-radius:.5rem;box-shadow:0 10px 15px -3px rgb(0 0 0/.1)}.bubble-menu button{padding:.5rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;transition:background-color .2s}.bubble-menu button:hover{background:var(--color-bg-secondary,#f3f4f6)}.bubble-menu button.is-active{background:var(--color-primary,#3b82f6);color:white}.floating-menu{display:flex;gap:.25rem;padding:.5rem;background:var(--color-bg-primary,#ffffff);border:1px solid var(--color-border,#e5e7eb);border-radius:.5rem;box-shadow:0 10px 15px -3px rgb(0 0 0/.1)}.floating-menu button{padding:.5rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.floating-menu button:hover{background:var(--color-bg-secondary,#f3f4f6)}.floating-menu button.is-active{background:var(--color-primary,#3b82f6);color:white}.editable-text{cursor:text;transition:all .2s;border-radius:.375rem}.editable-text--editable:hover{outline:2px solid var(--color-border-focus,#93c5fd);outline-offset:2px}.editable-text--active{outline:2px solid var(--color-primary,#3b82f6);outline-offset:2px}.editable-image{position:relative;cursor:pointer}.editable-image--empty{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--color-bg-secondary,#f3f4f6);border:2px dashed var(--color-border,#e5e7eb);border-radius:.5rem}.editable-image__placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-text-secondary,#6b7280)}.editable-image__icon{width:3rem;height:3rem}.editable-image__wrapper{position:relative;overflow:hidden;border-radius:.5rem}.editable-image__blurhash{position:absolute;inset:0;background-size:cover;filter:blur(20px)}.editable-image__img{display:block;width:100%;height:auto}.editable-image__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);opacity:0;transition:opacity .2s}.editable-image--editable:hover .editable-image__overlay{opacity:1}.editable-image__button{padding:.75rem 1.5rem;background:white;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:transform .2s}.editable-image__button:hover{transform:scale(1.05)}.editable-link{color:var(--color-primary,#3b82f6);text-decoration:underline;cursor:pointer}.editable-link--editable:hover{opacity:.8}.editable-link--active{outline:2px solid var(--color-primary,#3b82f6);outline-offset:2px;border-radius:.25rem}.editable-link__url-editor{margin-top:.5rem;padding:.75rem;background:var(--color-bg-secondary,#f3f4f6);border-radius:.375rem}.editable-link__url-display,.editable-link__url-form{display:flex;gap:.5rem;align-items:center}.editable-link__url-input{flex:1;padding:.5rem;border:1px solid var(--color-border,#e5e7eb);border-radius:.375rem}.editable-link__button{padding:.5rem 1rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.editable-link__button--save{background:var(--color-primary,#3b82f6);color:white}.editable-link__button--cancel{background:var(--color-bg-secondary,#f3f4f6)}.editable-link__button--edit{background:transparent;color:var(--color-primary,#3b82f6)}.editor-toolbar{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:1000;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.editor-toolbar__container{display:flex;gap:1rem;padding:.75rem 1rem;background:var(--color-bg-primary,#ffffff);border:1px solid var(--color-border,#e5e7eb);border-radius:.75rem;box-shadow:0 10px 25px -5px rgb(0 0 0/.1)}.editor-toolbar__section{display:flex;gap:.5rem;align-items:center}.editor-toolbar__divider{width:1px;height:1.5rem;background:var(--color-border,#e5e7eb)}.editor-toolbar__button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.editor-toolbar__button:hover:not(:disabled){background:var(--color-bg-secondary,#f3f4f6)}.editor-toolbar__button:disabled{opacity:.5;cursor:not-allowed}.editor-toolbar__button--primary{background:var(--color-primary,#3b82f6);color:white}.editor-toolbar__button--primary:hover:not(:disabled){background:var(--color-primary-dark,#2563eb)}.editor-toolbar__button--success{background:var(--color-success,#10b981);color:white}.editor-toolbar__button--success:hover:not(:disabled){background:var(--color-success-dark,#059669)}.save-status{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;font-weight:500}.save-status--saving{color:var(--color-text-secondary,#6b7280)}.save-status--saved{color:var(--color-success,#10b981)}.save-status--error{color:var(--color-error,#ef4444)}.spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.block-wrapper{position:relative;padding:1rem;margin:1rem 0;border:2px solid transparent;border-radius:.5rem;transition:all .2s}.block-wrapper:hover{border-color:var(--color-border-focus,#93c5fd)}.block-wrapper--active{border-color:var(--color-primary,#3b82f6)}.block-wrapper__controls{position:absolute;top:-2rem;left:0;right:0;opacity:0;transition:opacity .2s;pointer-events:none}.block-wrapper--active .block-wrapper__controls,.block-wrapper:hover .block-wrapper__controls{opacity:1;pointer-events:auto}.block-wrapper__controls-inner{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--color-bg-primary,#ffffff);border:1px solid var(--color-border,#e5e7eb);border-radius:.5rem;box-shadow:0 4px 6px -1px rgb(0 0 0/.1)}.block-wrapper__label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.05em}.block-wrapper__actions{display:flex;gap:.25rem}.block-wrapper__button{padding:.375rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;transition:background-color .2s}.block-wrapper__button:hover{background:var(--color-bg-secondary,#f3f4f6)}.block-wrapper__button--danger:hover{background:var(--color-error-light,#fee2e2);color:var(--color-error,#ef4444)}.block-wrapper__focus-ring{position:absolute;inset:-4px;border:2px solid var(--color-primary,#3b82f6);border-radius:.5rem;pointer-events:none;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.add-block-button{display:flex;justify-content:center;margin:2rem 0;opacity:0;transition:opacity .2s}.add-block-button:hover{opacity:1}.add-block-button__trigger{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:2px dashed var(--color-border,#e5e7eb);background:var(--color-bg-primary,#ffffff);border-radius:50%;cursor:pointer;transition:all .2s}.add-block-button__trigger:hover{border-color:var(--color-primary,#3b82f6);background:var(--color-primary,#3b82f6);color:white;transform:scale(1.1)}.block-dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.block-dialog{width:90%;max-width:48rem;max-height:90vh;overflow:auto;background:var(--color-bg-primary,#ffffff);border-radius:1rem;box-shadow:0 20px 25px -5px rgb(0 0 0/.1);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.block-dialog__header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border,#e5e7eb)}.block-dialog__title{font-size:1.25rem;font-weight:600}.block-dialog__close{padding:.5rem;border:none;background:transparent;cursor:pointer;border-radius:.375rem;transition:background-color .2s}.block-dialog__close:hover{background:var(--color-bg-secondary,#f3f4f6)}.block-dialog__content{padding:1.5rem}.block-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.block-card{padding:1.5rem;border:2px solid var(--color-border,#e5e7eb);border-radius:.5rem;background:var(--color-bg-primary,#ffffff);cursor:pointer;transition:all .2s;text-align:center}.block-card:hover{border-color:var(--color-primary,#3b82f6);transform:translateY(-2px);box-shadow:0 4px 6px -1px rgb(0 0 0/.1)}.block-card__icon{font-size:2rem;margin-bottom:.5rem}.block-card__label{font-weight:600;margin-bottom:.25rem}.block-card__description{font-size:.875rem;color:var(--color-text-secondary,#6b7280)}.sortable-block{position:relative;margin:1rem 0}.sortable-block__handle{position:absolute;left:-2rem;top:50%;transform:translateY(-50%);padding:.5rem;cursor:grab;opacity:0;transition:opacity .2s}.sortable-block:hover .sortable-block__handle{opacity:1}.sortable-block__handle:active{cursor:grabbing}.block-drag-overlay{opacity:.8;transform:rotate(2deg)}.asset-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1002;animation:fadeIn .2s ease}.asset-picker{width:90%;max-width:60rem;max-height:90vh;display:flex;flex-direction:column;background:var(--color-bg-primary,#ffffff);border-radius:1rem;box-shadow:0 20px 25px -5px rgb(0 0 0/.1);animation:slideUp .3s ease}.asset-picker__header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border,#e5e7eb)}.asset-picker__title{font-size:1.25rem;font-weight:600}.asset-picker__close{padding:.5rem;border:none;background:transparent;cursor:pointer;border-radius:.375rem;transition:background-color .2s}.asset-picker__close:hover{background:var(--color-bg-secondary,#f3f4f6)}.asset-picker__search{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border,#e5e7eb)}.asset-picker__search-input{width:100%;padding:.5rem 1rem;border:1px solid var(--color-border,#e5e7eb);border-radius:.5rem;font-size:.875rem}.asset-picker__upload{padding:1.5rem;border-bottom:1px solid var(--color-border,#e5e7eb)}.asset-picker__upload-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;border:2px dashed var(--color-border,#e5e7eb);background:var(--color-bg-secondary,#f3f4f6);border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .2s}.asset-picker__upload-button:hover:not(:disabled){border-color:var(--color-primary,#3b82f6);background:var(--color-primary-light,#dbeafe)}.asset-picker__upload-button:disabled{opacity:.5;cursor:not-allowed}.asset-picker__progress{margin-top:.5rem;height:.5rem;background:var(--color-bg-secondary,#f3f4f6);border-radius:.25rem;overflow:hidden}.asset-picker__progress-bar{height:100%;background:var(--color-primary,#3b82f6);transition:width .3s ease}.asset-picker__content{flex:1;overflow:auto;padding:1.5rem}.asset-picker__empty,.asset-picker__loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-secondary,#6b7280)}.asset-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.asset-card{padding:0;border:2px solid var(--color-border,#e5e7eb);border-radius:.5rem;background:var(--color-bg-primary,#ffffff);cursor:pointer;transition:all .2s;overflow:hidden}.asset-card:hover{border-color:var(--color-primary,#3b82f6);transform:translateY(-2px);box-shadow:0 4px 6px -1px rgb(0 0 0/.1)}.asset-card__image{position:relative;aspect-ratio:1;overflow:hidden;background:var(--color-bg-secondary,#f3f4f6)}.asset-card__blurhash{position:absolute;inset:0;background-size:cover;filter:blur(10px)}.asset-card__image img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.asset-card__info{padding:.75rem}.asset-card__filename{font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card__dimensions{font-size:.625rem;color:var(--color-text-secondary,#6b7280);margin-top:.25rem}.asset-upload-zone{display:flex;flex-direction:column;gap:1rem}.asset-upload-zone--compact{gap:.5rem}.asset-upload-zone__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;border:2px dashed #d1d5db;border-radius:.5rem;background-color:#fafafa;cursor:pointer;transition:all .2s ease}.asset-upload-zone--compact .asset-upload-zone__dropzone{padding:1rem;gap:.5rem}.asset-upload-zone__dropzone:hover{border-color:#9ca3af;background-color:#f3f4f6}.asset-upload-zone__dropzone--dragover{border-color:#3b82f6;background-color:#eff6ff;border-style:solid}.asset-upload-zone__dropzone--disabled{opacity:.5;cursor:not-allowed}.asset-upload-zone__dropzone--disabled:hover{border-color:#d1d5db;background-color:#fafafa}.asset-upload-zone__icon{color:#9ca3af}.asset-upload-zone__dropzone--dragover .asset-upload-zone__icon{color:#3b82f6}.asset-upload-zone__text{font-size:.875rem;color:#6b7280;text-align:center}.asset-upload-zone--compact .asset-upload-zone__text{font-size:.75rem}.asset-upload-zone__files{display:flex;flex-direction:column;gap:.5rem}.upload-file-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:.375rem;background-color:#fff}.upload-file-item--completed{border-color:#86efac;background-color:#f0fdf4}.upload-file-item--error{border-color:#fca5a5;background-color:#fef2f2}.upload-file-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.upload-file-item__name{font-size:.875rem;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-item__size{font-size:.75rem;color:#9ca3af}.upload-file-item__progress{flex:1;min-width:100px;display:flex;align-items:center;gap:.5rem}.upload-file-item__progress-bar{flex:1;height:4px;background-color:#e5e7eb;border-radius:2px;overflow:hidden}.upload-file-item__progress-fill{height:100%;background-color:#3b82f6;transition:width .2s ease}.upload-file-item__progress-text{font-size:.75rem;color:#6b7280;min-width:2.5rem;text-align:right}.upload-file-item__error{display:flex;align-items:center;gap:.5rem}.upload-file-item__error-text{font-size:.75rem;color:#dc2626}.upload-file-item__retry{font-size:.75rem;color:#3b82f6;background:none;border:none;cursor:pointer;padding:0}.upload-file-item__retry:hover{text-decoration:underline}.upload-file-item__success{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#16a34a}.upload-file-item__remove{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;background:none;color:#9ca3af;cursor:pointer;border-radius:.25rem}.upload-file-item__remove:hover{background-color:#f3f4f6;color:#6b7280}.asset-upload-zone__alt-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.5)}.asset-upload-zone__alt-modal{width:100%;max-width:28rem;max-height:80vh;overflow-y:auto;background-color:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);padding:1.5rem}.asset-upload-zone__alt-modal-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 1rem}.asset-upload-zone__alt-modal-files{display:flex;flex-direction:column;gap:1rem}.asset-upload-zone__alt-modal-item{display:flex;flex-direction:column;gap:.375rem}.asset-upload-zone__alt-modal-filename{font-size:.875rem;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-upload-zone__alt-modal-input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none}.asset-upload-zone__alt-modal-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.asset-upload-zone__alt-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.asset-upload-zone__alt-modal-cancel{padding:.5rem 1rem;font-size:.875rem;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer}.asset-upload-zone__alt-modal-cancel:hover{background-color:#f9fafb}.asset-upload-zone__alt-modal-submit{padding:.5rem 1rem;font-size:.875rem;color:#fff;background-color:#3b82f6;border:none;border-radius:.375rem;cursor:pointer}.asset-upload-zone__alt-modal-submit:hover{background-color:#2563eb}