@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=DM+Sans:wght@400;500;700&display=swap";.touch-target{min-height:44px;min-width:44px}.responsive-container{width:100%;margin-right:auto;margin-left:auto;padding-right:1.5rem;padding-left:1.5rem}@media (min-width:640px){.responsive-container{max-width:640px;padding-right:2rem;padding-left:2rem}}@media (min-width:768px){.responsive-container{max-width:768px;padding-right:3rem;padding-left:3rem}}@media (min-width:1024px){.responsive-container{max-width:1024px;padding-right:4rem;padding-left:4rem}}@media (min-width:1200px){.responsive-container{max-width:1200px;padding-right:6rem;padding-left:6rem}}.responsive-container{padding-left:1.5rem;padding-right:1.5rem;width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding-mobile);padding-right:var(--container-padding-mobile)}@media (min-width:768px){.responsive-container{padding-left:var(--container-padding-tablet);padding-right:var(--container-padding-tablet)}}@media (min-width:1024px){.responsive-container{padding-left:var(--container-padding-desktop);padding-right:var(--container-padding-desktop)}}.responsive-container{max-width:100%;overflow-x:hidden}@media (max-width:320px){.responsive-container{padding-left:.75rem;padding-right:.75rem}}@media (min-width:640px){.responsive-container{padding-left:2rem;padding-right:2rem}}@media (min-width:768px){.responsive-container{padding-left:3rem;padding-right:3rem}}@media (min-width:1024px){.responsive-container{padding-left:4rem;padding-right:4rem}}@media (min-width:1280px){.responsive-container{padding-left:6rem;padding-right:6rem}}.responsive-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.responsive-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.responsive-grid{min-width:0;min-height:0}@supports not (display:grid){.responsive-grid{display:flex;flex-wrap:wrap;gap:1rem}.responsive-grid>*{flex:1 1 auto;min-width:280px;max-width:100%;flex-basis:100%}}@media (min-width:640px){.responsive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}@media (min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}}.responsive-grid-2{grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.responsive-grid-2{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.responsive-grid-2{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.responsive-grid-2{min-width:0;min-height:0}@supports not (display:grid){.responsive-grid-2{display:flex;flex-wrap:wrap;gap:1rem}.responsive-grid-2>*{flex:1 1 auto;min-width:280px;max-width:100%;flex-basis:100%}}@media (min-width:640px){.responsive-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}@media (min-width:1024px){.responsive-grid-2{gap:2.5rem}}.responsive-grid-4{grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.responsive-grid-4{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.responsive-grid-4{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.responsive-grid-4{min-width:0;min-height:0}@supports not (display:grid){.responsive-grid-4{display:flex;flex-wrap:wrap;gap:1rem}.responsive-grid-4>*{flex:1 1 auto;min-width:280px;max-width:100%;flex-basis:100%}}@media (min-width:640px){.responsive-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}@media (min-width:1024px){.responsive-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem}}.responsive-heading-1{font-size:2.25rem;line-height:2.5rem}@media (min-width:640px){.responsive-heading-1{font-size:3rem;line-height:1}}@media (min-width:1024px){.responsive-heading-1{font-size:3.75rem;line-height:1}}@media (min-width:1280px){.responsive-heading-1{font-size:3.75rem;line-height:1}}.responsive-heading-2{font-size:1.875rem;line-height:2.25rem}@media (min-width:640px){.responsive-heading-2{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.responsive-heading-2{font-size:3rem;line-height:1}}.responsive-heading-3{font-size:1.5rem;line-height:1.7;font-family:var(--font-body);font-size:var(--text-2xl);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.section-dark .responsive-heading-3{color:var(--color-neutral-300)}@media (min-width:640px){.responsive-heading-3{font-size:1.875rem;line-height:2.25rem}}@media (min-width:1024px){.responsive-heading-3{font-size:2.25rem;line-height:2.5rem}}.responsive-heading-4{font-size:1.25rem;line-height:1.7;font-family:var(--font-body);font-size:var(--text-xl);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.section-dark .responsive-heading-4{color:var(--color-neutral-300)}@media (min-width:640px){.responsive-heading-4{font-size:1.5rem;line-height:1.7}}@media (min-width:1024px){.responsive-heading-4{font-size:1.875rem;line-height:2.25rem}}.responsive-heading-5{font-size:1.125rem;line-height:1.7;font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.section-dark .responsive-heading-5{color:var(--color-neutral-300)}@media (min-width:640px){.responsive-heading-5{font-size:1.25rem;line-height:1.7}}@media (min-width:1024px){.responsive-heading-5{font-size:1.5rem;line-height:1.7}}.responsive-heading-6{font-size:1rem;line-height:1.7;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.section-dark .responsive-heading-6{color:var(--color-neutral-300)}@media (min-width:640px){.responsive-heading-6{font-size:1.125rem;line-height:1.7}}@media (min-width:1024px){.responsive-heading-6{font-size:1.25rem;line-height:1.7}}.responsive-body{font-size:.875rem;line-height:1.25rem;font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-neutral-700)}@media (min-width:640px){.responsive-body{font-size:1rem;line-height:1.7}}@media (min-width:1024px){.responsive-body{font-size:1.125rem;line-height:1.7}}.responsive-body-large{font-size:1rem;line-height:1.7;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.section-dark .responsive-body-large{color:var(--color-neutral-300)}@media (min-width:640px){.responsive-body-large{font-size:1.125rem;line-height:1.7}}@media (min-width:1024px){.responsive-body-large{font-size:1.25rem;line-height:1.7}}.responsive-body-small{font-size:.75rem;line-height:1rem;font-family:var(--font-body);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--color-neutral-700)}@media (min-width:640px){.responsive-body-small{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.responsive-body-small{font-size:1rem;line-height:1.7}}.section-spacing{padding-top:6rem;padding-bottom:6rem}@media (min-width:640px){.section-spacing{padding-top:8rem;padding-bottom:8rem}}@media (min-width:768px){.section-spacing{padding-top:10rem;padding-bottom:10rem}}@media (min-width:1024px){.section-spacing{padding-top:12rem;padding-bottom:12rem}}.section-spacing-small{padding-top:4rem;padding-bottom:4rem}@media (min-width:640px){.section-spacing-small{padding-top:5rem;padding-bottom:5rem}}@media (min-width:768px){.section-spacing-small{padding-top:6rem;padding-bottom:6rem}}@media (min-width:1024px){.section-spacing-small{padding-top:8rem;padding-bottom:8rem}}.section-spacing-large{padding-top:8rem;padding-bottom:8rem}@media (min-width:640px){.section-spacing-large{padding-top:10rem;padding-bottom:10rem}}@media (min-width:768px){.section-spacing-large{padding-top:12rem;padding-bottom:12rem}}@media (min-width:1024px){.section-spacing-large{padding-top:16rem;padding-bottom:16rem}}.hero-spacing{padding-top:8rem;padding-bottom:8rem}@media (min-width:640px){.hero-spacing{padding-top:10rem;padding-bottom:10rem}}@media (min-width:768px){.hero-spacing{padding-top:12rem;padding-bottom:12rem}}@media (min-width:1024px){.hero-spacing{padding-top:16rem;padding-bottom:16rem}}.responsive-padding{padding:1.5rem}@media (min-width:640px){.responsive-padding{padding:2rem}}@media (min-width:768px){.responsive-padding{padding:2.5rem}}@media (min-width:1024px){.responsive-padding{padding:3rem}}@media (min-width:1280px){.responsive-padding{padding:4rem}}.responsive-padding-x{padding-left:1.5rem;padding-right:1.5rem}@media (min-width:640px){.responsive-padding-x{padding-left:2rem;padding-right:2rem}}@media (min-width:768px){.responsive-padding-x{padding-left:2.5rem;padding-right:2.5rem}}@media (min-width:1024px){.responsive-padding-x{padding-left:3rem;padding-right:3rem}}@media (min-width:1280px){.responsive-padding-x{padding-left:4rem;padding-right:4rem}}.responsive-padding-y{padding-top:1.5rem;padding-bottom:1.5rem}@media (min-width:640px){.responsive-padding-y{padding-top:2rem;padding-bottom:2rem}}@media (min-width:768px){.responsive-padding-y{padding-top:2.5rem;padding-bottom:2.5rem}}@media (min-width:1024px){.responsive-padding-y{padding-top:3rem;padding-bottom:3rem}}@media (min-width:1280px){.responsive-padding-y{padding-top:4rem;padding-bottom:4rem}}.responsive-margin{margin:1.5rem}@media (min-width:640px){.responsive-margin{margin:2rem}}@media (min-width:768px){.responsive-margin{margin:2.5rem}}@media (min-width:1024px){.responsive-margin{margin:3rem}}@media (min-width:1280px){.responsive-margin{margin:4rem}}.responsive-margin-x{margin-left:1.5rem;margin-right:1.5rem}@media (min-width:640px){.responsive-margin-x{margin-left:2rem;margin-right:2rem}}@media (min-width:768px){.responsive-margin-x{margin-left:2.5rem;margin-right:2.5rem}}@media (min-width:1024px){.responsive-margin-x{margin-left:3rem;margin-right:3rem}}@media (min-width:1280px){.responsive-margin-x{margin-left:4rem;margin-right:4rem}}.responsive-margin-y{margin-top:1.5rem;margin-bottom:1.5rem}@media (min-width:640px){.responsive-margin-y{margin-top:2rem;margin-bottom:2rem}}@media (min-width:768px){.responsive-margin-y{margin-top:2.5rem;margin-bottom:2.5rem}}@media (min-width:1024px){.responsive-margin-y{margin-top:3rem;margin-bottom:3rem}}@media (min-width:1280px){.responsive-margin-y{margin-top:4rem;margin-bottom:4rem}}.responsive-gap{gap:1.5rem}@media (min-width:640px){.responsive-gap{gap:2rem}}@media (min-width:768px){.responsive-gap{gap:2.5rem}}@media (min-width:1024px){.responsive-gap{gap:3rem}}.responsive-gap-small{gap:1rem}@media (min-width:640px){.responsive-gap-small{gap:1.25rem}}@media (min-width:768px){.responsive-gap-small{gap:1.5rem}}@media (min-width:1024px){.responsive-gap-small{gap:2rem}}.responsive-gap-large{gap:2rem}@media (min-width:640px){.responsive-gap-large{gap:2.5rem}}@media (min-width:768px){.responsive-gap-large{gap:3rem}}@media (min-width:1024px){.responsive-gap-large{gap:4rem}}.responsive-flex{display:flex;flex-direction:column;min-width:0;min-height:0}@media (min-width:640px){.responsive-flex{flex-direction:row}}.responsive-flex-reverse{display:flex;flex-direction:column-reverse;min-width:0;min-height:0}@media (min-width:640px){.responsive-flex-reverse{flex-direction:row}}.responsive-image{height:auto;width:100%;max-width:100%;-o-object-fit:cover;object-fit:cover}.responsive-image-contain{height:auto;width:100%;max-width:100%;-o-object-fit:contain;object-fit:contain}.aspect-video-responsive{aspect-ratio:16/9;width:100%}.aspect-square-responsive{aspect-ratio:1/1;width:100%}@media (min-width:640px){.hide-mobile{display:block}}@media (min-width:640px){.hide-tablet{display:none}}@media (min-width:1024px){.hide-tablet{display:block}}.show-mobile-only{display:block}@media (min-width:640px){.show-mobile-only{display:none}}.show-tablet-only{display:none}@media (min-width:640px){.show-tablet-only{display:block}}@media (min-width:1024px){.show-tablet-only{display:none}}.show-desktop-only{display:none}@media (min-width:1024px){.show-desktop-only{display:block}}.responsive-width-full{width:100%}@media (min-width:640px){.responsive-width-full{width:auto}}.responsive-width-auto{width:auto}@media (min-width:640px){.responsive-width-auto{width:100%}}.responsive-width-half{width:100%}@media (min-width:640px){.responsive-width-half{width:50%}}.responsive-width-third{width:100%}@media (min-width:640px){.responsive-width-third{width:50%}}@media (min-width:1024px){.responsive-width-third{width:33.333333%}}.responsive-height-screen{height:100vh;min-height:500px}@media (min-width:640px){.responsive-height-screen{min-height:600px}}@media (min-width:1024px){.responsive-height-screen{min-height:700px}}.responsive-height-hero{height:60vh}@media (min-width:640px){.responsive-height-hero{height:70vh}}@media (min-width:1024px){.responsive-height-hero{height:80vh}}.responsive-button{width:100%;padding:.75rem 1.5rem}@media (min-width:640px){.responsive-button{width:auto;padding:1rem 2rem}}.responsive-button-large{width:100%;padding:1rem 2rem}@media (min-width:640px){.responsive-button-large{width:auto;padding:1.25rem 2.5rem}}.responsive-card{border-radius:.5rem;padding:1.5rem}@media (min-width:640px){.responsive-card{border-radius:.75rem;padding:2rem}}@media (min-width:768px){.responsive-card{padding:2.5rem}}@media (min-width:1024px){.responsive-card{padding:3rem}}.responsive-card-large{border-radius:.75rem;padding:2rem}@media (min-width:640px){.responsive-card-large{border-radius:1rem;padding:2.5rem}}@media (min-width:768px){.responsive-card-large{padding:3rem}}@media (min-width:1024px){.responsive-card-large{padding:4rem}}.responsive-form{margin-left:auto;margin-right:auto;width:100%}@media (min-width:640px){.responsive-form{width:80%}}@media (min-width:768px){.responsive-form{width:75%}}@media (min-width:1024px){.responsive-form{width:66.666667%}}@media (min-width:1280px){.responsive-form{width:50%}}.responsive-form-narrow{margin-left:auto;margin-right:auto;width:100%}@media (min-width:640px){.responsive-form-narrow{width:80%}}@media (min-width:768px){.responsive-form-narrow{width:66.666667%}}@media (min-width:1024px){.responsive-form-narrow{width:50%}}@media (min-width:1280px){.responsive-form-narrow{width:40%}}.responsive-input{width:100%;padding:.75rem 1rem;font-size:1rem;line-height:1.7;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.section-dark .responsive-input{color:var(--color-neutral-300)}@media (min-width:640px){.responsive-input{padding:1rem 1.25rem;font-size:1.125rem;line-height:1.7}}.responsive-textarea{min-height:120px;width:100%;padding:.75rem 1rem;font-size:1rem;line-height:1.7;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.section-dark .responsive-textarea{color:var(--color-neutral-300)}@media (min-width:640px){.responsive-textarea{min-height:150px;padding:1rem 1.25rem;font-size:1.125rem;line-height:1.7}}.responsive-nav{display:flex;flex-direction:column;gap:1rem;min-width:0;min-height:0}@media (min-width:1024px){.responsive-nav{flex-direction:row;gap:1.5rem}}.responsive-header{height:4rem}@media (min-width:640px){.responsive-header{height:5rem}}@media (min-width:1024px){.responsive-header{height:6rem}}.responsive-logo{height:2rem;width:auto}@media (min-width:640px){.responsive-logo{height:2.5rem}}@media (min-width:1024px){.responsive-logo{height:3rem}}.responsive-footer{grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.responsive-footer{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.responsive-footer{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.responsive-footer{min-width:0;min-height:0}@supports not (display:grid){.responsive-footer{display:flex;flex-wrap:wrap;gap:1rem}.responsive-footer>*{flex:1 1 auto;min-width:280px;max-width:100%;flex-basis:100%}}@media (min-width:640px){.responsive-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}}@media (min-width:1024px){.responsive-footer{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}}.responsive-section{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:640px){.responsive-section{padding-left:2rem;padding-right:2rem}}@media (min-width:768px){.responsive-section{padding-left:2.5rem;padding-right:2.5rem}}@media (min-width:1024px){.responsive-section{padding-left:3rem;padding-right:3rem}}@media (min-width:1280px){.responsive-section{padding-left:4rem;padding-right:4rem}}.responsive-content{margin-left:auto;margin-right:auto;max-width:65ch}.responsive-content-wide{margin-left:auto;margin-right:auto;max-width:56rem}.responsive-content-narrow{margin-left:auto;margin-right:auto;max-width:42rem}.responsive-text-center{text-align:center}@media (min-width:640px){.responsive-text-center{text-align:left}}.responsive-text-left{text-align:left}@media (min-width:640px){.responsive-text-left{text-align:center}}@media (min-width:1024px){.responsive-text-left{text-align:left}}.prevent-horizontal-scroll{overflow-x:hidden}.responsive-min-width{min-width:320px}.responsive-max-width{max-width:100%}.responsive-z-index-header{z-index:40}@media (min-width:640px){.responsive-z-index-header{z-index:50}}.responsive-z-index-modal{z-index:50}@media (min-width:640px){.responsive-z-index-modal{z-index:60}}.responsive-rounded{border-radius:.5rem}@media (min-width:640px){.responsive-rounded{border-radius:.75rem}}@media (min-width:1024px){.responsive-rounded{border-radius:1rem}}.responsive-rounded-small{border-radius:.25rem}@media (min-width:640px){.responsive-rounded-small{border-radius:.375rem}}@media (min-width:1024px){.responsive-rounded-small{border-radius:.5rem}}.responsive-shadow{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.responsive-shadow{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width:1024px){.responsive-shadow{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}.responsive-shadow-hover:hover{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.responsive-shadow-hover:hover{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width:1024px){.responsive-shadow-hover:hover{--tw-shadow:0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (prefers-reduced-motion:no-preference){.responsive-transition{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}@media (min-width:640px){.responsive-transition{transition-duration:.3s}}.responsive-transition-slow{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}@media (min-width:640px){.responsive-transition-slow{transition-duration:.5s}}}@media (hover:hover) and (pointer:fine){.responsive-hover-lift{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.responsive-hover-lift:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.responsive-hover-scale{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition:transform var(--duration-base) var(--ease-out)}.responsive-hover-scale:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.responsive-focus:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138 / var(--tw-ring-opacity, 1));--tw-ring-offset-width:2px}.sr-only-responsive{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (min-width:640px){.sr-only-responsive{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}}@media print{.hide-print{display:none}.show-print{display:block}}.responsive-bg-light{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity, 1))}.responsive-text-light{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity, 1))}.responsive-overflow-safe{overflow:hidden;overflow-wrap:break-word}.responsive-image-optimized{height:auto;width:100%;max-width:100%;-o-object-fit:cover;object-fit:cover}.img-container-16-9{position:relative;width:100%;overflow:hidden;aspect-ratio:16/9}.img-container-4-3{position:relative;width:100%;overflow:hidden;aspect-ratio:4/3}.img-container-1-1{position:relative;width:100%;overflow:hidden;aspect-ratio:1/1}.img-container-21-9{position:relative;width:100%;overflow:hidden;aspect-ratio:21/9}.img-container-3-2{position:relative;width:100%;overflow:hidden;aspect-ratio:3/2}.img-grid-responsive{gap:1rem;display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.img-grid-responsive{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.img-grid-responsive{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.img-grid-responsive{min-width:0;min-height:0}@supports not (display:grid){.img-grid-responsive{display:flex;flex-wrap:wrap;gap:1rem}.img-grid-responsive>*{flex:1 1 auto;min-width:280px;max-width:100%}}@media (min-width:640px){.img-grid-responsive{gap:1.5rem}}@media (min-width:1024px){.img-grid-responsive{gap:2rem}}.img-grid-responsive{grid-template-columns:repeat(1,minmax(0,1fr))}@supports not (display:grid){.img-grid-responsive>*{flex-basis:100%}}@media (min-width:640px){.img-grid-responsive{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.img-grid-responsive{grid-template-columns:repeat(3,minmax(0,1fr))}}.img-grid-responsive-2{gap:1rem;display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.img-grid-responsive-2{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.img-grid-responsive-2{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.img-grid-responsive-2{min-width:0;min-height:0}@supports not (display:grid){.img-grid-responsive-2{display:flex;flex-wrap:wrap;gap:1rem}.img-grid-responsive-2>*{flex:1 1 auto;min-width:280px;max-width:100%}}@media (min-width:640px){.img-grid-responsive-2{gap:1.5rem}}@media (min-width:1024px){.img-grid-responsive-2{gap:2rem}}.img-grid-responsive-2{grid-template-columns:repeat(1,minmax(0,1fr))}@supports not (display:grid){.img-grid-responsive-2>*{flex-basis:100%}}@media (min-width:640px){.img-grid-responsive-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.img-grid-responsive-4{gap:1rem;display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.img-grid-responsive-4{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.img-grid-responsive-4{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.img-grid-responsive-4{min-width:0;min-height:0}@supports not (display:grid){.img-grid-responsive-4{display:flex;flex-wrap:wrap;gap:1rem}.img-grid-responsive-4>*{flex:1 1 auto;min-width:280px;max-width:100%}}@media (min-width:640px){.img-grid-responsive-4{gap:1.5rem}}@media (min-width:1024px){.img-grid-responsive-4{gap:2rem}}.img-grid-responsive-4{grid-template-columns:repeat(2,minmax(0,1fr))}@supports not (display:grid){.img-grid-responsive-4>*{flex-basis:calc(50% - .5rem)}}@media (min-width:640px){.img-grid-responsive-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.img-grid-responsive-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.img-height-responsive{height:12rem}@media (min-width:640px){.img-height-responsive{height:14rem}}@media (min-width:768px){.img-height-responsive{height:16rem}}@media (min-width:1024px){.img-height-responsive{height:18rem}}@media (min-width:1280px){.img-height-responsive{height:20rem}}.img-height-responsive-small{height:8rem}@media (min-width:640px){.img-height-responsive-small{height:10rem}}@media (min-width:768px){.img-height-responsive-small{height:12rem}}@media (min-width:1024px){.img-height-responsive-small{height:14rem}}.img-height-responsive-large{height:16rem}@media (min-width:640px){.img-height-responsive-large{height:18rem}}@media (min-width:768px){.img-height-responsive-large{height:20rem}}@media (min-width:1024px){.img-height-responsive-large{height:24rem}}.img-cover{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.img-contain{height:100%;width:100%;-o-object-fit:contain;object-fit:contain}.img-fill{height:100%;width:100%;-o-object-fit:fill;object-fit:fill}.img-position-center{-o-object-position:center;object-position:center}.img-position-top{-o-object-position:top;object-position:top}.img-position-bottom{-o-object-position:bottom;object-position:bottom}.img-position-left{-o-object-position:left;object-position:left}.img-position-right{-o-object-position:right;object-position:right}@keyframes pulse{50%{opacity:.5}}.img-lazy-placeholder{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity, 1));animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (prefers-reduced-motion:reduce){.img-lazy-placeholder{animation:none;transition:none}}@media (hover:hover) and (pointer:fine){.img-hover-zoom{overflow:hidden}.img-hover-zoom img{transition-property:transform;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition:transform var(--duration-base) var(--ease-out)}.img-hover-zoom:hover img{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.img-hover-lift{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.img-hover-lift:hover{--tw-translate-y:-.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@supports not (display:grid){.responsive-grid,.responsive-grid-2,.responsive-grid-4{display:flex;flex-wrap:wrap;min-width:0;min-height:0}.responsive-grid>*,.responsive-grid-2>*,.responsive-grid-4>*{min-width:280px;flex:1 1 0%}}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content:""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.-z-10{z-index:-10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-12{margin-bottom:3rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-5{height:1.25rem}.h-full{height:100%}.min-h-0{min-height:0}.w-16{width:4rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity, 1))}.bg-accent-500{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity, 1))}.p-6{padding:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pt-12{padding-top:3rem}.text-center{text-align:center}.font-body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}.font-display{font-family:Cormorant Garamond,Georgia,Times New Roman,serif}.text-2xl{font-size:1.5rem;line-height:1.7}.text-base{font-size:1rem;line-height:1.7}.text-lg{font-size:1.125rem;line-height:1.7}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.7}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.7}.leading-tight{line-height:1.2}.tracking-tight{letter-spacing:-.01em}.tracking-wide{letter-spacing:.01em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity, 1))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity, 1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity, 1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--color-white:#ffffff;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-black:#000000;--color-gray-900:#0a0a0a;--color-gray-800:#1a1a1a;--color-accent-50:#f8fafc;--color-accent-100:#f1f5f9;--color-accent-200:#e2e8f0;--color-accent-300:#cbd5e1;--color-accent-400:#94a3b8;--color-accent-500:#1e3a8a;--color-accent-600:#1e40af;--color-accent-700:#1d4ed8;--color-accent-800:#172554;--color-accent-900:#0f172a;--color-accent-950:#020617;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;--color-success-50:#f0fdf4;--color-success-500:#22c55e;--color-success-600:#16a34a;--color-success-700:#15803d;--color-warning-50:#fffbeb;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-error-50:#fef2f2;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-error-700:#b91c1c;--color-info-50:var(--color-accent-50);--color-info-500:var(--color-accent-500);--color-info-600:var(--color-accent-600);--color-info-700:var(--color-accent-700);--color-dark-bg-primary:#0a0a0a;--color-dark-bg-secondary:#171717;--color-dark-bg-tertiary:#262626;--color-dark-text-primary:#fafafa;--color-dark-text-secondary:#d4d4d4;--color-dark-border:#404040;--font-display:"Cormorant Garamond", "Georgia", "Times New Roman", serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--text-h1:4rem;--text-h1-mobile:2.75rem;--text-h2:3.25rem;--text-h2-mobile:2.25rem;--text-h3:2.5rem;--text-h3-mobile:1.875rem;--text-h4:2rem;--text-h4-mobile:1.625rem;--text-h5:1.625rem;--text-h5-mobile:1.375rem;--text-h6:1.375rem;--text-h6-mobile:1.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.7;--leading-loose:2;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--tracking-tighter:-.02em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.01em;--tracking-wider:.025em;--font-numeric:lining-nums;--font-numeric-tabular:lining-nums tabular-nums;--font-numeric-oldstyle:oldstyle-nums;--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-32:8rem;--spacing-40:10rem;--spacing-48:12rem;--spacing-56:14rem;--spacing-64:16rem;--spacing-72:18rem;--spacing-80:20rem;--container-max-width:1200px;--container-padding-mobile:1.5rem;--container-padding-tablet:3rem;--container-padding-desktop:6rem;--radius-none:0;--radius-sm:.125rem;--radius-base:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / .05);--shadow-base:0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md:0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl:0 25px 50px -12px rgb(0 0 0 / .25);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.68, -.55, .265, 1.55);--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--duration-slower:.5s;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{color:var(--color-neutral-900);background:var(--color-white);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);min-height:100vh;font-variant-numeric:var(--font-numeric)}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}img{max-width:100%;height:auto;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}img[loading=lazy]{content-visibility:auto}img:not([src]):not([srcset]){visibility:hidden}img[width][height]{height:auto}picture{display:block;line-height:0}picture img{width:100%;height:auto}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px;transition:outline var(--duration-fast) var(--ease-out)}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto}}@supports not (font-variant-numeric:lining-nums){body,.font-display,.heading-1,h1.heading,.heading-2,h2.heading,.heading-3,h3.heading,.heading-4,h4.heading,.heading-5,h5.heading,.heading-6,h6.heading{font-feature-settings:"lnum"1}}.heading-1,h1.heading{font-family:var(--font-display);font-size:var(--text-h1-mobile);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);color:var(--color-black);font-variant-numeric:var(--font-numeric)}@media (min-width:768px){.heading-1,h1.heading{font-size:var(--text-h1)}}.heading-2,h2.heading{font-family:var(--font-display);font-size:var(--text-h2-mobile);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);color:var(--color-black);font-variant-numeric:var(--font-numeric)}@media (min-width:768px){.heading-2,h2.heading{font-size:var(--text-h2)}}.heading-3,h3.heading{font-family:var(--font-display);font-size:var(--text-h3-mobile);font-weight:var(--font-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--color-black);font-variant-numeric:var(--font-numeric)}@media (min-width:768px){.heading-3,h3.heading{font-size:var(--text-h3)}}.heading-4,h4.heading{font-family:var(--font-display);font-size:var(--text-h4-mobile);font-weight:var(--font-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--color-black);font-variant-numeric:var(--font-numeric)}@media (min-width:768px){.heading-4,h4.heading{font-size:var(--text-h4)}}.heading-5,h5.heading{font-family:var(--font-display);font-size:var(--text-h5-mobile);font-weight:var(--font-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--color-black);font-variant-numeric:var(--font-numeric)}@media (min-width:768px){.heading-5,h5.heading{font-size:var(--text-h5)}}.heading-6,h6.heading{font-family:var(--font-display);font-size:var(--text-h6-mobile);font-weight:var(--font-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--color-neutral-900);font-variant-numeric:var(--font-numeric)}@media (min-width:768px){.heading-6,h6.heading{font-size:var(--text-h6)}}.text-xs{font-family:var(--font-body);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--color-neutral-700)}.text-sm{font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-neutral-700)}.text-base{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.text-lg{font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.text-xl{font-family:var(--font-body);font-size:var(--text-xl);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.text-2xl{font-family:var(--font-body);font-size:var(--text-2xl);line-height:var(--leading-relaxed);color:var(--color-neutral-900)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.leading-loose{line-height:var(--leading-loose)}.tracking-tighter{letter-spacing:var(--tracking-tighter)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:var(--tracking-wider)}.font-display{font-family:var(--font-display);font-variant-numeric:var(--font-numeric)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.text-primary{color:var(--color-neutral-900)}.text-secondary{color:var(--color-neutral-700)}.text-muted{color:var(--color-neutral-500)}.text-accent{color:var(--color-accent-500)}.text-white{color:var(--color-white)}.text-black{color:var(--color-black)}.nums-lining{font-variant-numeric:lining-nums!important}.nums-tabular{font-variant-numeric:lining-nums tabular-nums!important}.nums-oldstyle{font-variant-numeric:oldstyle-nums!important}.nums-proportional{font-variant-numeric:lining-nums proportional-nums!important}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:var(--font-medium);text-align:center;cursor:pointer;border:0;transition:all var(--duration-base) var(--ease-out);text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-primary{background:var(--color-accent-500);color:var(--color-white);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);font-size:var(--text-base);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-accent-600);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{background:var(--color-accent-700);transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.btn-primary:disabled{background:var(--color-neutral-300);color:var(--color-neutral-500);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:0 0;color:var(--color-accent-500);border:2px solid var(--color-accent-500);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);font-size:var(--text-base)}.btn-secondary:hover{background:var(--color-accent-50);border-color:var(--color-accent-600);color:var(--color-accent-600);transform:translateY(-1px)}.btn-secondary:active{background:var(--color-accent-100);border-color:var(--color-accent-700);color:var(--color-accent-700);transform:translateY(0)}.btn-secondary:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.btn-secondary:disabled{background:0 0;border-color:var(--color-neutral-300);color:var(--color-neutral-500);cursor:not-allowed;transform:none}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm);border-radius:var(--radius-md)}.btn-md{padding:var(--spacing-3) var(--spacing-6);font-size:var(--text-base);border-radius:var(--radius-md)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn-primary.btn-sm,.btn-secondary.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm)}.btn-primary.btn-lg,.btn-secondary.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--text-lg);border-radius:var(--radius-lg)}@media (prefers-reduced-motion:reduce){.btn,.btn-primary,.btn-secondary{transition:none;transform:none!important}}.form-label{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-700);margin-bottom:var(--spacing-2);line-height:var(--leading-normal)}.form-label-required:after{content:"*";color:var(--color-error-500);margin-left:var(--spacing-1)}.form-input,.form-textarea,.form-select{width:100%;background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);padding:var(--spacing-3) var(--spacing-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-neutral-900);line-height:var(--leading-normal);transition:all var(--duration-base) var(--ease-out);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--color-neutral-400);opacity:1}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-neutral-400);opacity:1}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-accent-500);outline:2px solid var(--color-accent-100);outline-offset:0;box-shadow:0 0 0 3px var(--color-accent-50)}.form-input:hover:not(:disabled):not(:focus),.form-textarea:hover:not(:disabled):not(:focus),.form-select:hover:not(:disabled):not(:focus){border-color:var(--color-neutral-400)}.form-input.error,.form-input[aria-invalid=true],.form-textarea.error,.form-textarea[aria-invalid=true],.form-select.error,.form-select[aria-invalid=true]{border-color:var(--color-error-500);outline:2px solid var(--color-error-50);outline-offset:0}.form-input.error:focus,.form-input[aria-invalid=true]:focus,.form-textarea.error:focus,.form-textarea[aria-invalid=true]:focus,.form-select.error:focus,.form-select[aria-invalid=true]:focus{border-color:var(--color-error-600);box-shadow:0 0 0 3px var(--color-error-50)}.form-input.success,.form-textarea.success,.form-select.success{border-color:var(--color-success-500);outline:2px solid var(--color-success-50);outline-offset:0}.form-input.success:focus,.form-textarea.success:focus,.form-select.success:focus{border-color:var(--color-success-600);box-shadow:0 0 0 3px var(--color-success-50)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background:var(--color-neutral-100);color:var(--color-neutral-500);border-color:var(--color-neutral-300);cursor:not-allowed;opacity:.6}.form-input:-moz-read-only,.form-textarea:-moz-read-only{background:var(--color-neutral-50);cursor:default}.form-input:read-only,.form-textarea:read-only{background:var(--color-neutral-50);cursor:default}.form-textarea{min-height:120px;resize:vertical;line-height:var(--leading-relaxed)}.form-textarea.resize-none{resize:none}.form-textarea.resize-horizontal{resize:horizontal}.form-textarea.resize-both{resize:both}.form-input-sm,.form-textarea-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-sm)}.form-input-lg,.form-textarea-lg{padding:var(--spacing-4) var(--spacing-5);font-size:var(--text-lg)}.form-error{display:flex;align-items:flex-start;gap:var(--spacing-1);margin-top:var(--spacing-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-error-600);line-height:var(--leading-normal)}.form-error:before{content:"⚠";flex-shrink:0;font-size:var(--text-base)}.form-success{display:flex;align-items:flex-start;gap:var(--spacing-1);margin-top:var(--spacing-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-success-600);line-height:var(--leading-normal)}.form-success:before{content:"✓";flex-shrink:0;font-size:var(--text-base);font-weight:var(--font-bold)}.form-help{display:block;margin-top:var(--spacing-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-neutral-600);line-height:var(--leading-normal)}.form-group{margin-bottom:var(--spacing-6)}.form-group:last-child{margin-bottom:0}.form-group-inline{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.form-group-inline .form-label{margin-bottom:0;flex-shrink:0}.form-checkbox,.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--color-neutral-400);background:var(--color-white);cursor:pointer;position:relative;flex-shrink:0;transition:all var(--duration-base) var(--ease-out)}.form-checkbox{border-radius:var(--radius-base)}.form-radio{border-radius:var(--radius-full)}.form-checkbox:hover:not(:disabled),.form-radio:hover:not(:disabled){border-color:var(--color-accent-500)}.form-checkbox:focus,.form-radio:focus{outline:2px solid var(--color-accent-500);outline-offset:2px}.form-checkbox:checked,.form-radio:checked{background:var(--color-accent-500);border-color:var(--color-accent-500)}.form-checkbox:checked:after{content:"";position:absolute;left:5px;top:2px;width:6px;height:10px;border:solid var(--color-white);border-width:0 2px 2px 0;transform:rotate(45deg)}.form-radio:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-white)}.form-checkbox:disabled,.form-radio:disabled{background:var(--color-neutral-100);border-color:var(--color-neutral-300);cursor:not-allowed;opacity:.6}.form-check{display:flex;align-items:flex-start;gap:var(--spacing-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-check input[type=checkbox],.form-check input[type=radio]{margin-top:2px}.form-check label{cursor:pointer;font-size:var(--text-base);color:var(--color-neutral-900);line-height:var(--leading-normal)}.form-check input:disabled+label{color:var(--color-neutral-500);cursor:not-allowed}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23404040' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-3) center;padding-right:var(--spacing-10);cursor:pointer}.form-select:disabled{cursor:not-allowed}@media (prefers-reduced-motion:reduce){.form-input,.form-textarea,.form-select,.form-checkbox,.form-radio{transition:none}}.form-checkbox,.form-radio,.form-check{min-width:44px;min-height:44px}@media (hover:none) and (pointer:coarse){.form-input,.form-textarea,.form-select{font-size:16px}}.card{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-12);box-shadow:var(--shadow-md);transition:all var(--duration-slow) var(--ease-out);display:flex;flex-direction:column;position:relative;overflow:hidden}@media (min-width:768px){.card{padding:var(--spacing-16)}}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card:active{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-bordered{border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-sm)}.card-bordered:hover{border-color:var(--color-neutral-300);box-shadow:var(--shadow-lg)}.card-accent-border{border:2px solid var(--color-accent-500);box-shadow:var(--shadow-sm)}.card-accent-border:hover{border-color:var(--color-accent-600);box-shadow:var(--shadow-lg)}.card-top-border{border-top:4px solid var(--color-accent-500)}.card-top-border:hover{border-top-color:var(--color-accent-600)}.card-compact{padding:var(--spacing-8)}@media (min-width:768px){.card-compact{padding:var(--spacing-10)}}.card-large{padding:var(--spacing-16)}@media (min-width:768px){.card-large{padding:var(--spacing-20)}}.card-header{margin-bottom:var(--spacing-6)}.card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-black);line-height:var(--leading-tight);margin-bottom:var(--spacing-3)}@media (min-width:768px){.card-title{font-size:var(--text-2xl)}}.card-subtitle{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-600);line-height:var(--leading-normal);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--spacing-2)}.card-body{flex:1;margin-bottom:var(--spacing-6)}.card-body:last-child{margin-bottom:0}.card-description{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-neutral-700);line-height:var(--leading-relaxed)}.card-footer{margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:1px solid var(--color-neutral-200);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4)}.card-footer-no-border{margin-top:var(--spacing-6);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);border-top:none;padding-top:0}.card-image{width:100%;height:auto;border-radius:var(--radius-lg);margin-bottom:var(--spacing-6);-o-object-fit:cover;object-fit:cover}.card-image-full{width:calc(100% + var(--spacing-12)*2);margin-left:calc(var(--spacing-12)*-1);margin-right:calc(var(--spacing-12)*-1);margin-top:calc(var(--spacing-12)*-1);margin-bottom:var(--spacing-6);border-radius:var(--radius-xl) var(--radius-xl)0 0}@media (min-width:768px){.card-image-full{width:calc(100% + var(--spacing-16)*2);margin-left:calc(var(--spacing-16)*-1);margin-right:calc(var(--spacing-16)*-1);margin-top:calc(var(--spacing-16)*-1)}}.card-badge{position:absolute;top:var(--spacing-4);right:var(--spacing-4);background:var(--color-accent-500);color:var(--color-white);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.card-flat{box-shadow:none;background:var(--color-neutral-50)}.card-flat:hover{box-shadow:var(--shadow-md);background:var(--color-white)}.card-accent{background:var(--color-accent-50);border:1px solid var(--color-accent-200)}.card-accent:hover{background:var(--color-accent-100);border-color:var(--color-accent-300)}.card-accent .card-title{color:var(--color-accent-900)}.card-accent .card-description{color:var(--color-accent-800)}.card-dark{background:var(--color-neutral-900);color:var(--color-white)}.card-dark:hover{background:var(--color-neutral-800)}.card-dark .card-title{color:var(--color-white)}.card-dark .card-description{color:var(--color-neutral-300)}.card-dark .card-footer{border-top-color:var(--color-neutral-700)}.card-interactive{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card-interactive:hover{transform:translateY(-6px);box-shadow:var(--shadow-2xl)}.card-interactive:active{transform:translateY(-3px);box-shadow:var(--shadow-xl)}a.card{text-decoration:none;color:inherit;display:block}a.card:hover{text-decoration:none}.card-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.card-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.card-grid-2{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.card-grid-2{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}.card-grid-4{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:640px){.card-grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.card-grid-4{grid-template-columns:repeat(4,1fr);gap:var(--spacing-16)}}@media (prefers-reduced-motion:reduce){.card,.card-interactive{transition:none;transform:none!important}.card:hover,.card-interactive:hover{transform:none!important}}.navbar{position:sticky;top:0;z-index:50;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-neutral-200);transition:all var(--duration-base) var(--ease-out)}.navbar-container{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-4) var(--container-padding-mobile);display:flex;align-items:center;justify-content:space-between;height:80px}@media (min-width:768px){.navbar-container{padding:var(--spacing-4) var(--container-padding-tablet)}}@media (min-width:1024px){.navbar-container{padding:var(--spacing-4) var(--container-padding-desktop)}}.navbar-brand{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-black);text-decoration:none;transition:color var(--duration-base) var(--ease-out);display:flex;align-items:center;gap:var(--spacing-2)}.navbar-brand:hover{color:var(--color-accent-600)}.navbar-menu{display:none;align-items:center;gap:var(--spacing-2);list-style:none;margin:0;padding:0}@media (min-width:1024px){.navbar-menu{display:flex}}.navbar-link{display:inline-flex;align-items:center;padding:var(--spacing-2) var(--spacing-4);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-neutral-700);text-decoration:none;border-radius:var(--radius-md);transition:all var(--duration-base) var(--ease-out);white-space:nowrap}.navbar-link:hover{color:var(--color-accent-600);background:var(--color-accent-50)}.navbar-link.active,.navbar-link[aria-current=page]{color:var(--color-accent-700);background:var(--color-accent-100);font-weight:var(--font-semibold)}.navbar-link:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.navbar-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:0 0;border:0;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-base) var(--ease-out);color:var(--color-neutral-900)}@media (min-width:1024px){.navbar-toggle{display:none}}.navbar-toggle:hover{background:var(--color-neutral-100)}.navbar-toggle:active{background:var(--color-neutral-200)}.navbar-toggle:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.navbar-toggle-icon{position:relative;width:24px;height:2px;background:currentColor;transition:all var(--duration-base) var(--ease-out)}.navbar-toggle-icon:before,.navbar-toggle-icon:after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;transition:all var(--duration-base) var(--ease-out)}.navbar-toggle-icon:before{top:-8px}.navbar-toggle-icon:after{bottom:-8px}.navbar-toggle[aria-expanded=true] .navbar-toggle-icon{background:0 0}.navbar-toggle[aria-expanded=true] .navbar-toggle-icon:before{top:0;transform:rotate(45deg)}.navbar-toggle[aria-expanded=true] .navbar-toggle-icon:after{bottom:0;transform:rotate(-45deg)}.navbar-mobile-menu{position:fixed;inset:80px 0 0;background:var(--color-white);z-index:40;padding:var(--spacing-6);overflow-y:auto;transform:translate(100%);transition:transform var(--duration-slow) var(--ease-out)}.navbar-mobile-menu.open{transform:translate(0)}@media (min-width:1024px){.navbar-mobile-menu{display:none}}.navbar-mobile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.navbar-mobile-link{display:flex;align-items:center;padding:var(--spacing-4) var(--spacing-4);font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-neutral-900);text-decoration:none;border-radius:var(--radius-md);transition:all var(--duration-base) var(--ease-out)}.navbar-mobile-link:hover{color:var(--color-accent-600);background:var(--color-accent-50)}.navbar-mobile-link.active,.navbar-mobile-link[aria-current=page]{color:var(--color-accent-700);background:var(--color-accent-100);font-weight:var(--font-semibold)}.navbar-cta{display:none;margin-left:var(--spacing-4)}@media (min-width:1024px){.navbar-cta{display:inline-flex}}.navbar-mobile-cta{margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:1px solid var(--color-neutral-200)}.navbar.scrolled{box-shadow:var(--shadow-md);background:#fffffffa}@media (prefers-reduced-motion:reduce){.navbar,.navbar-link,.navbar-mobile-link,.navbar-toggle,.navbar-toggle-icon,.navbar-toggle-icon:before,.navbar-toggle-icon:after,.navbar-mobile-menu{transition:none}.navbar-mobile-menu{transform:none}.navbar-mobile-menu:not(.open){display:none}}.navbar-link,.navbar-mobile-link,.navbar-toggle{min-width:44px;min-height:44px}.site-header{position:sticky;top:0;z-index:50;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-neutral-200);transition:all var(--duration-base) var(--ease-out)}.header-container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding-mobile);display:flex;align-items:center;justify-content:space-between;height:80px}@media (min-width:768px){.header-container{padding:0 var(--container-padding-tablet)}}@media (min-width:1024px){.header-container{padding:0 var(--container-padding-desktop)}}.header-brand{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-black);text-decoration:none;transition:color var(--duration-base) var(--ease-out);display:flex;align-items:center;gap:var(--spacing-2)}.header-brand:hover{color:var(--color-accent-600)}@media (min-width:768px){.header-brand{font-size:var(--text-2xl)}}.header-nav{display:none}@media (min-width:1024px){.header-nav{display:block}}.header-nav-list{display:flex;align-items:center;gap:var(--spacing-2);list-style:none;margin:0;padding:0}.header-nav-link{display:inline-flex;align-items:center;padding:var(--spacing-2) var(--spacing-4);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-neutral-700);text-decoration:none;border-radius:var(--radius-md);transition:all var(--duration-base) var(--ease-out);white-space:nowrap}.header-nav-link:hover{color:var(--color-accent-600);background:var(--color-accent-50)}.header-nav-link.active,.header-nav-link[aria-current=page]{color:var(--color-accent-700);background:var(--color-accent-100);font-weight:var(--font-semibold)}.header-nav-link:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.header-cta{display:none;margin-left:var(--spacing-4)}@media (min-width:1024px){.header-cta{display:inline-flex}}.header-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:0 0;border:0;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-base) var(--ease-out);color:var(--color-neutral-900)}@media (min-width:1024px){.header-toggle{display:none}}.header-toggle:hover{background:var(--color-neutral-100)}.header-toggle:active{background:var(--color-neutral-200)}.header-toggle:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.header-toggle-icon{position:relative;width:24px;height:2px;background:currentColor;transition:all var(--duration-base) var(--ease-out)}.header-toggle-icon:before,.header-toggle-icon:after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;transition:all var(--duration-base) var(--ease-out)}.header-toggle-icon:before{top:-8px}.header-toggle-icon:after{bottom:-8px}.header-toggle[aria-expanded=true] .header-toggle-icon{background:0 0}.header-toggle[aria-expanded=true] .header-toggle-icon:before{top:0;transform:rotate(45deg)}.header-toggle[aria-expanded=true] .header-toggle-icon:after{bottom:0;transform:rotate(-45deg)}.header-mobile-menu{position:fixed;inset:80px 0 0;background:var(--color-white);z-index:40;padding:var(--spacing-6);overflow-y:auto;transform:translate(100%);transition:transform var(--duration-slow) var(--ease-out)}.header-mobile-menu.open{transform:translate(0)}@media (min-width:1024px){.header-mobile-menu{display:none}}.header-mobile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.header-mobile-link{display:flex;align-items:center;padding:var(--spacing-4) var(--spacing-4);font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-neutral-900);text-decoration:none;border-radius:var(--radius-md);transition:all var(--duration-base) var(--ease-out)}.header-mobile-link:hover{color:var(--color-accent-600);background:var(--color-accent-50)}.header-mobile-link.active,.header-mobile-link[aria-current=page]{color:var(--color-accent-700);background:var(--color-accent-100);font-weight:var(--font-semibold)}.header-mobile-cta{margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:1px solid var(--color-neutral-200)}.site-header.scrolled{box-shadow:var(--shadow-md);background:#fffffffa}@media (prefers-reduced-motion:reduce){.site-header,.header-nav-link,.header-mobile-link,.header-toggle,.header-toggle-icon,.header-toggle-icon:before,.header-toggle-icon:after,.header-mobile-menu{transition:none}.header-mobile-menu{transform:none}.header-mobile-menu:not(.open){display:none}}.header-nav-link,.header-mobile-link,.header-toggle{min-width:44px;min-height:44px}.site-footer{background:var(--color-neutral-900);color:var(--color-neutral-300);margin-top:var(--spacing-32)}@media (min-width:768px){.site-footer{margin-top:var(--spacing-40)}}@media (min-width:1024px){.site-footer{margin-top:var(--spacing-48)}}.footer-container{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-16) var(--container-padding-mobile) var(--spacing-8)}@media (min-width:768px){.footer-container{padding:var(--spacing-20) var(--container-padding-tablet) var(--spacing-10)}}@media (min-width:1024px){.footer-container{padding:var(--spacing-24) var(--container-padding-desktop) var(--spacing-12)}}.footer-main{display:grid;grid-template-columns:1fr;gap:var(--spacing-12);margin-bottom:var(--spacing-12)}@media (min-width:768px){.footer-main{grid-template-columns:1fr 2fr;gap:var(--spacing-16);margin-bottom:var(--spacing-16)}}@media (min-width:1024px){.footer-main{gap:var(--spacing-20)}}.footer-brand{display:flex;flex-direction:column;gap:var(--spacing-6)}.footer-brand-link{text-decoration:none;display:inline-block}.footer-brand-name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-white);transition:color var(--duration-base) var(--ease-out)}.footer-brand-link:hover .footer-brand-name{color:var(--color-accent-400)}.footer-brand-description{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-neutral-400);line-height:var(--leading-relaxed);max-width:300px}.footer-social{display:flex;gap:var(--spacing-3)}.footer-social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-neutral-800);color:var(--color-neutral-400);border-radius:var(--radius-md);text-decoration:none;transition:all var(--duration-base) var(--ease-out)}.footer-social-link:hover{background:var(--color-accent-600);color:var(--color-white);transform:translateY(-2px)}.footer-social-link:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.footer-social-icon{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-bold)}.footer-links{display:grid;grid-template-columns:1fr;gap:var(--spacing-8)}@media (min-width:640px){.footer-links{grid-template-columns:repeat(2,1fr);gap:var(--spacing-10)}}@media (min-width:1024px){.footer-links{grid-template-columns:repeat(4,1fr);gap:var(--spacing-12)}}.footer-links-group{display:flex;flex-direction:column;gap:var(--spacing-4)}.footer-links-title{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-white);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--spacing-2)}.footer-links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-3)}.footer-link{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-neutral-400);text-decoration:none;transition:color var(--duration-base) var(--ease-out);display:inline-block}.footer-link:hover{color:var(--color-white)}.footer-link:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px;border-radius:var(--radius-sm)}.footer-bottom{padding-top:var(--spacing-8);border-top:1px solid var(--color-neutral-800);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-4)}@media (min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-copyright{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-neutral-500);text-align:center}@media (min-width:768px){.footer-copyright{text-align:left}}@media (prefers-reduced-motion:reduce){.footer-brand-name,.footer-social-link,.footer-link{transition:none}.footer-social-link:hover{transform:none}}.footer-link{min-height:44px;display:inline-flex;align-items:center}.footer-social-link{min-width:44px;min-height:44px}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding-mobile);padding-right:var(--container-padding-mobile)}@media (min-width:768px){.container{padding-left:var(--container-padding-tablet);padding-right:var(--container-padding-tablet)}}@media (min-width:1024px){.container{padding-left:var(--container-padding-desktop);padding-right:var(--container-padding-desktop)}}.container-full{width:100%;max-width:none;padding-left:0;padding-right:0}.container-tight{width:100%;max-width:800px;margin-left:auto;margin-right:auto;padding-left:var(--container-padding-mobile);padding-right:var(--container-padding-mobile)}@media (min-width:768px){.container-tight{padding-left:var(--container-padding-tablet);padding-right:var(--container-padding-tablet)}}@media (min-width:1024px){.container-tight{padding-left:var(--container-padding-desktop);padding-right:var(--container-padding-desktop)}}.container-wide{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:var(--container-padding-mobile);padding-right:var(--container-padding-mobile)}@media (min-width:768px){.container-wide{padding-left:var(--container-padding-tablet);padding-right:var(--container-padding-tablet)}}@media (min-width:1024px){.container-wide{padding-left:var(--container-padding-desktop);padding-right:var(--container-padding-desktop)}}.section{padding-top:var(--spacing-24);padding-bottom:var(--spacing-24)}@media (min-width:768px){.section{padding-top:var(--spacing-40);padding-bottom:var(--spacing-40)}}@media (min-width:1024px){.section{padding-top:var(--spacing-48);padding-bottom:var(--spacing-48)}}.section-compact{padding-top:var(--spacing-16);padding-bottom:var(--spacing-16)}@media (min-width:768px){.section-compact{padding-top:var(--spacing-20);padding-bottom:var(--spacing-20)}}@media (min-width:1024px){.section-compact{padding-top:var(--spacing-24);padding-bottom:var(--spacing-24)}}.section-large{padding-top:var(--spacing-32);padding-bottom:var(--spacing-32)}@media (min-width:768px){.section-large{padding-top:var(--spacing-48);padding-bottom:var(--spacing-48)}}@media (min-width:1024px){.section-large{padding-top:var(--spacing-64);padding-bottom:var(--spacing-64)}}.section-top{padding-top:var(--spacing-24)}@media (min-width:768px){.section-top{padding-top:var(--spacing-40)}}@media (min-width:1024px){.section-top{padding-top:var(--spacing-48)}}.section-bottom{padding-bottom:var(--spacing-24)}@media (min-width:768px){.section-bottom{padding-bottom:var(--spacing-40)}}@media (min-width:1024px){.section-bottom{padding-bottom:var(--spacing-48)}}.section-gray{background:var(--color-neutral-50)}.section-accent{background:var(--color-accent-50)}.section-dark{background:var(--color-neutral-900);color:var(--color-white)}.section-dark .heading-1,.section-dark .heading-2,.section-dark .heading-3,.section-dark .heading-4,.section-dark .heading-5,.section-dark .heading-6,.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,.section-dark h5,.section-dark h6{color:var(--color-white)}.section-dark .text-base,.section-dark .text-lg,.section-dark .text-xl,.section-dark .text-2xl,.section-dark p{color:var(--color-neutral-300)}.grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.grid-1{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.grid-1{gap:var(--spacing-16)}}@media (min-width:1024px){.grid-1{gap:var(--spacing-20)}}.grid-2{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.grid-2{gap:var(--spacing-20)}}.grid-3{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:768px){.grid-3{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}}@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr);gap:var(--spacing-20)}}.grid-4{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:640px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr);gap:var(--spacing-16)}}.grid-gap-compact{gap:var(--spacing-8)}@media (min-width:768px){.grid-gap-compact{gap:var(--spacing-10)}}@media (min-width:1024px){.grid-gap-compact{gap:var(--spacing-12)}}.grid-gap-large{gap:var(--spacing-16)}@media (min-width:768px){.grid-gap-large{gap:var(--spacing-20)}}@media (min-width:1024px){.grid-gap-large{gap:var(--spacing-24)}}.grid-sidebar{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:1024px){.grid-sidebar{grid-template-columns:1fr 2fr;gap:var(--spacing-20)}}.grid-sidebar-reverse{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media (min-width:1024px){.grid-sidebar-reverse{grid-template-columns:2fr 1fr;gap:var(--spacing-20)}}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-12)}@media (min-width:768px){.grid-auto-fit{gap:var(--spacing-16)}}@media (min-width:1024px){.grid-auto-fit{gap:var(--spacing-20)}}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-12)}@media (min-width:768px){.grid-auto-fill{gap:var(--spacing-16)}}@media (min-width:1024px){.grid-auto-fill{gap:var(--spacing-20)}}.grid-span-2{grid-column:span 1}@media (min-width:768px){.grid-span-2{grid-column:span 2}}.grid-span-3{grid-column:span 1}@media (min-width:768px){.grid-span-3{grid-column:span 2}}@media (min-width:1024px){.grid-span-3{grid-column:span 3}}.grid-span-full{grid-column:1/-1}.grid-items-center{align-items:center;justify-items:center}.grid-items-start{align-items:start}.grid-items-end{align-items:end}.grid-items-stretch{align-items:stretch}.hide-mobile{display:none}@media (min-width:768px){.hide-mobile{display:block}}.hide-tablet{display:block}@media (min-width:768px){.hide-tablet{display:none}}.hide-desktop{display:block}@media (min-width:1024px){.hide-desktop{display:none}}.show-mobile{display:block}@media (min-width:768px){.show-mobile{display:none}}.show-tablet{display:none}@media (min-width:768px) and (max-width:1023px){.show-tablet{display:block}}.show-desktop{display:none}@media (min-width:1024px){.show-desktop{display:block}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--duration-slow) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out)}.animate-fade-in-down{animation:fadeInDown var(--duration-slow) var(--ease-out)}.animate-fade-in-left{animation:fadeInLeft var(--duration-slow) var(--ease-out)}.animate-fade-in-right{animation:fadeInRight var(--duration-slow) var(--ease-out)}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-fast{animation-duration:var(--duration-fast)!important}.animate-normal{animation-duration:var(--duration-base)!important}.animate-slow{animation-duration:var(--duration-slow)!important}.animate-slower{animation-duration:var(--duration-slower)!important}.animate-duration-1s{animation-duration:1s!important}.animate-duration-2s{animation-duration:2s!important}.animate-duration-3s{animation-duration:3s!important}.animate-delay-0{animation-delay:0ms}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.animate-delay-600{animation-delay:.6s}.animate-delay-700{animation-delay:.7s}.animate-delay-800{animation-delay:.8s}.animate-delay-900{animation-delay:.9s}.animate-delay-1000{animation-delay:1s}.animate-stagger{animation-delay:calc(var(--stagger-index, 0)*.1s)}.animate-ease-in{animation-timing-function:var(--ease-in)}.animate-ease-out{animation-timing-function:var(--ease-out)}.animate-ease-in-out{animation-timing-function:var(--ease-in-out)}.animate-ease-bounce{animation-timing-function:var(--ease-bounce)}.animate-ease-linear{animation-timing-function:linear}.animate-pause{animation-play-state:paused}.animate-play{animation-play-state:running}.animate-infinite{animation-iteration-count:infinite}.animate-once{animation-iteration-count:1}.animate-twice{animation-iteration-count:2}.animate-thrice{animation-iteration-count:3}.animate-fill-forwards{animation-fill-mode:forwards}.animate-fill-backwards{animation-fill-mode:backwards}.animate-fill-both{animation-fill-mode:both}.spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--color-neutral-200);border-top-color:var(--color-accent-500);border-radius:var(--radius-full);animation:spin 1s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-md{width:24px;height:24px;border-width:2px}.spinner-lg{width:32px;height:32px;border-width:3px}.spinner-xl{width:48px;height:48px;border-width:4px}.spinner-primary{border-color:var(--color-neutral-200);border-top-color:var(--color-accent-500)}.spinner-secondary{border-color:var(--color-neutral-200);border-top-color:var(--color-neutral-700)}.spinner-white{border-color:#ffffff4d;border-top-color:var(--color-white)}.spinner-black{border-color:#0000001a;border-top-color:var(--color-black)}.spinner-dots{display:inline-flex;align-items:center;gap:var(--spacing-2)}.spinner-dots span{display:inline-block;width:8px;height:8px;background:var(--color-accent-500);border-radius:var(--radius-full);animation:pulse 1.4s ease-in-out infinite}.spinner-dots span:nth-child(1){animation-delay:0s}.spinner-dots span:nth-child(2){animation-delay:.2s}.spinner-dots span:nth-child(3){animation-delay:.4s}.spinner-container{display:flex;align-items:center;justify-content:center;padding:var(--spacing-8)}.spinner-fullpage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;backdrop-filter:blur(4px);z-index:9999}.spinner-with-text{display:inline-flex;align-items:center;gap:var(--spacing-3)}.spinner-with-text .spinner-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-neutral-700)}.transition{transition:all var(--duration-base) var(--ease-out)}.transition-fast{transition:all var(--duration-fast) var(--ease-out)}.transition-slow{transition:all var(--duration-slow) var(--ease-out)}.transition-slower{transition:all var(--duration-slower) var(--ease-out)}.transition-colors{transition:color var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.transition-opacity{transition:opacity var(--duration-base) var(--ease-out)}.transition-transform{transition:transform var(--duration-base) var(--ease-out)}.transition-shadow{transition:box-shadow var(--duration-base) var(--ease-out)}.transition-none{transition:none!important}.hover-lift{transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--duration-base) var(--ease-out)}.hover-scale:hover{transform:scale(1.05)}.hover-brighten{transition:filter var(--duration-base) var(--ease-out)}.hover-brighten:hover{filter:brightness(1.1)}.hover-opacity{transition:opacity var(--duration-base) var(--ease-out)}.hover-opacity:hover{opacity:.8}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-fade-in-up,.animate-fade-in-down,.animate-fade-in-left,.animate-fade-in-right,.animate-pulse,.animate-bounce,.hover-lift,.hover-scale,.hover-brighten,.hover-opacity{animation:none!important;transition:none!important}.spinner,.animate-spin{animation-duration:2s!important}.hover-lift:hover,.hover-scale:hover{transform:none!important}.hover-brighten:hover{filter:none!important}}[aria-busy=true]{cursor:wait}.hero{display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-32) var(--container-padding-mobile);min-height:60vh;position:relative;background:var(--color-white)}@media (min-width:768px){.hero{padding:var(--spacing-48) var(--container-padding-tablet);min-height:70vh}}@media (min-width:1024px){.hero{padding:var(--spacing-64) var(--container-padding-desktop);min-height:80vh}}.hero-title{font-family:var(--font-display);font-size:var(--text-h1-mobile);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-black);margin-bottom:var(--spacing-8);max-width:800px}@media (min-width:768px){.hero-title{font-size:var(--text-h1);margin-bottom:var(--spacing-12)}}@media (min-width:1024px){.hero-title{margin-bottom:var(--spacing-16)}}.hero-subtitle{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed);color:var(--color-neutral-700);margin-bottom:var(--spacing-8);max-width:600px}@media (min-width:768px){.hero-subtitle{font-size:var(--text-xl);margin-bottom:var(--spacing-10)}}@media (min-width:1024px){.hero-subtitle{font-size:var(--text-2xl);margin-bottom:var(--spacing-12)}}.hero-cta{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);width:100%;max-width:400px}@media (min-width:640px){.hero-cta{flex-direction:row;justify-content:center;gap:var(--spacing-6);max-width:none}}.hero-cta .btn{width:100%;min-width:180px}@media (min-width:640px){.hero-cta .btn{width:auto}}.hero-left{text-align:left;align-items:flex-start}.hero-left .hero-cta{justify-content:flex-start}.hero-right{text-align:right;align-items:flex-end}.hero-right .hero-cta{justify-content:flex-end}.hero-gray{background:var(--color-neutral-50)}.hero-accent{background:var(--color-accent-50)}.hero-dark{background:var(--color-neutral-900)}.hero-dark .hero-title{color:var(--color-white)}.hero-dark .hero-subtitle{color:var(--color-neutral-300)}.hero-gradient{background:linear-gradient(135deg,var(--color-white) 0%,var(--color-accent-50) 100%)}.hero-image .hero-title,.hero-image .hero-subtitle{color:var(--color-white);text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-animated .hero-title{animation:fadeInUp var(--duration-slow) var(--ease-out);animation-delay:.1s;animation-fill-mode:both}.hero-animated .hero-subtitle{animation:fadeInUp var(--duration-slow) var(--ease-out);animation-delay:.3s;animation-fill-mode:both}.hero-animated .hero-cta{animation:fadeInUp var(--duration-slow) var(--ease-out);animation-delay:.5s;animation-fill-mode:both}@media (prefers-reduced-motion:reduce){.hero-animated .hero-title,.hero-animated .hero-subtitle,.hero-animated .hero-cta{animation:none!important}}.text-high-contrast{color:var(--color-black);background:var(--color-white)}.text-high-contrast-inverted{color:var(--color-white);background:var(--color-black)}.text-accent-high-contrast{color:var(--color-accent-700);background:var(--color-white)}.text-error-high-contrast{color:var(--color-error-700);background:var(--color-white)}.text-success-high-contrast{color:var(--color-success-700);background:var(--color-white)}.text-warning-high-contrast{color:var(--color-warning-700);background:var(--color-white)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px;transition:outline var(--duration-fast) var(--ease-out)}.focus-high-contrast:focus-visible{outline:3px solid var(--color-accent-700);outline-offset:3px;box-shadow:0 0 0 5px var(--color-accent-100)}.focus-inset:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:-2px}.focus-ring:focus-visible{outline:0;box-shadow:0 0 0 2px var(--color-white),0 0 0 4px var(--color-accent-500)}.focus-none:focus-visible{outline:0;box-shadow:none}button,[role=button],[type=button],[type=submit],[type=reset]{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}a{min-height:44px;display:inline-flex;align-items:center}input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px}select{min-height:44px}.touch-target{position:relative;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.touch-target-extended{position:relative}.touch-target-extended:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:44px;min-height:44px;z-index:-1}.touch-target-lg{min-width:48px;min-height:48px}.touch-target-xl{min-width:56px;min-height:56px}@media (hover:none) and (pointer:coarse){button,[role=button],a,input,select,textarea{min-height:48px}input[type=checkbox],input[type=radio]{min-width:48px;min-height:48px}}.skip-link{position:absolute;top:-100px;left:0;background:var(--color-accent-500);color:var(--color-white);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;font-weight:var(--font-semibold);border-radius:0 0 var(--radius-md)0;z-index:9999;transition:top var(--duration-base) var(--ease-out)}.skip-link:focus{top:0;outline:2px solid var(--color-white);outline-offset:2px}.keyboard-nav-only:focus:not(:focus-visible){outline:0}[tabindex]:not([tabindex="-1"]){position:relative}.debug-tab-order [tabindex]:not([tabindex="-1"]):before{content:attr(tabindex);position:absolute;top:-8px;right:-8px;background:var(--color-error-500);color:var(--color-white);font-size:10px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1000}.keyboard-shortcut{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-neutral-700);font-weight:var(--font-semibold)}.focus-trap{position:relative}.focus-trap-active{overflow:hidden}.aria-live-polite{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}[role=alert]{padding:var(--spacing-4);border-radius:var(--radius-md);background:var(--color-error-50);border:1px solid var(--color-error-500);color:var(--color-error-700);font-weight:var(--font-medium)}[role=progressbar]{width:100%;height:8px;background:var(--color-neutral-200);border-radius:var(--radius-full);overflow:hidden;position:relative}[role=progressbar]:before{content:"";position:absolute;top:0;left:0;height:100%;width:var(--progress-value, 0%);background:var(--color-accent-500);transition:width var(--duration-base) var(--ease-out)}[role=tablist]{display:flex;gap:var(--spacing-2);border-bottom:2px solid var(--color-neutral-200)}[role=tab]{padding:var(--spacing-3) var(--spacing-6);background:0 0;border:0;border-bottom:2px solid transparent;color:var(--color-neutral-700);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-base) var(--ease-out);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}[role=tab]:hover{color:var(--color-accent-600);background:var(--color-accent-50)}[role=tab][aria-selected=true]{color:var(--color-accent-700);border-bottom-color:var(--color-accent-500);font-weight:var(--font-semibold)}[role=tab]:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}[role=tabpanel]{padding:var(--spacing-6)0}[role=tabpanel][hidden]{display:none}[role=dialog],[role=alertdialog]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-8);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow-y:auto;z-index:1000}.modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:999}[role=menu],[role=menubar]{list-style:none;margin:0;padding:var(--spacing-2);background:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}[role=menuitem]{padding:var(--spacing-3) var(--spacing-4);color:var(--color-neutral-900);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-base) var(--ease-out);min-width:44px;min-height:44px;display:flex;align-items:center}[role=menuitem]:hover,[role=menuitem]:focus{background:var(--color-accent-50);color:var(--color-accent-700)}[role=menuitem][aria-disabled=true]{color:var(--color-neutral-400);cursor:not-allowed;opacity:.6}[role=tooltip]{position:absolute;background:var(--color-neutral-900);color:var(--color-white);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--text-sm);white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:var(--shadow-lg)}[role=tooltip]:before{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--color-neutral-900)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.hidden{display:none!important}[disabled],[aria-disabled=true]{cursor:not-allowed;opacity:.6;pointer-events:none}[readonly],[aria-readonly=true]{cursor:default;background:var(--color-neutral-50)}[required]:after,[aria-required=true]:after{content:" *";color:var(--color-error-500);font-weight:var(--font-bold)}[aria-invalid=true]{border-color:var(--color-error-500)!important;outline:2px solid var(--color-error-50);outline-offset:0}[aria-expanded=false]+*{display:none}[aria-expanded=true]+*{display:block}[aria-selected=true]{background:var(--color-accent-100);color:var(--color-accent-700);font-weight:var(--font-semibold)}[aria-pressed=true]{background:var(--color-accent-600);color:var(--color-white)}[aria-checked=true]{background:var(--color-accent-500);color:var(--color-white)}.hero{position:relative;width:100%;padding:var(--spacing-32) var(--spacing-4);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}@media (min-width:768px){.hero{padding:var(--spacing-48) var(--spacing-8)}}@media (min-width:1024px){.hero{padding:var(--spacing-64) var(--spacing-12)}}.hero-gradient{background:linear-gradient(135deg,var(--color-white) 0%,var(--color-neutral-50) 100%)}.hero-container{max-width:var(--container-max-width);width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-8)}@media (min-width:768px){.hero-container{gap:var(--spacing-12)}}.hero-title{font-family:var(--font-display);font-size:var(--text-h1-mobile);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-black);margin:0;max-width:900px}@media (min-width:768px){.hero-title{font-size:var(--text-h1)}}.hero-subtitle{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed);color:var(--color-neutral-700);margin:0;max-width:700px}@media (min-width:768px){.hero-subtitle{font-size:var(--text-xl)}}.hero-cta{display:flex;flex-direction:column;gap:var(--spacing-4);align-items:center;margin-top:var(--spacing-4)}@media (min-width:640px){.hero-cta{flex-direction:row;gap:var(--spacing-6)}}.hero-left{text-align:left}.hero-left .hero-container{align-items:flex-start}.hero-right{text-align:right}.hero-right .hero-container{align-items:flex-end}.hero-compact{padding:var(--spacing-24) var(--spacing-4)}@media (min-width:768px){.hero-compact{padding:var(--spacing-32) var(--spacing-8)}}@media (min-width:1024px){.hero-compact{padding:var(--spacing-40) var(--spacing-12)}}.hero-fullheight{min-height:100vh;padding-top:80px}.hero-image{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat}.hero-image:before{content:"";position:absolute;inset:0;background:#0006;z-index:0}.hero-image .hero-container{position:relative;z-index:1}.hero-image .hero-title,.hero-image .hero-subtitle{color:var(--color-white)}.hero-animated .hero-title{animation:fadeInUp var(--duration-slow) var(--ease-out)}.hero-animated .hero-subtitle{animation:fadeInUp var(--duration-slow) var(--ease-out);animation-delay:.2s;animation-fill-mode:both}.hero-animated .hero-cta{animation:fadeInUp var(--duration-slow) var(--ease-out);animation-delay:.4s;animation-fill-mode:both}@media (prefers-reduced-motion:reduce){.hero-animated .hero-title,.hero-animated .hero-subtitle,.hero-animated .hero-cta{animation:none}}html,body{min-width:320px}html,body{overflow-x:hidden;max-width:100vw}*{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;hyphens:auto}img,video,canvas,svg,picture,iframe{max-width:100%;height:auto}table{max-width:100%;table-layout:auto}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}pre,code{max-width:100%;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}code{white-space:pre-wrap}pre code{white-space:pre;overflow-x:auto}.flex,[class*=flex],.grid,[class*=grid]{min-width:0;min-height:0}@supports not (display:grid){.grid,[class*=grid-cols]{display:flex;flex-wrap:wrap;gap:1rem}.grid>*,[class*=grid-cols]>*{flex:1 1 auto;min-width:280px;max-width:100%}.grid-cols-1>*{flex-basis:100%}.grid-cols-2>*{flex-basis:calc(50% - .5rem)}.grid-cols-3>*{flex-basis:calc(33.333% - .667rem)}.grid-cols-4>*{flex-basis:calc(25% - .75rem)}}[style*=width]{max-width:100%}.fixed,.absolute,[class*=fixed],[class*=absolute]{max-width:100vw}.container,[class*=container]{max-width:100%;overflow-x:hidden}section,article,main,aside,nav,header,footer{max-width:100%;overflow-x:hidden}input,textarea,select,button{max-width:100%}a[href^=http],a[href^=mailto]{word-break:break-all;overflow-wrap:break-word}[style*=vw]{max-width:100vw}@media (max-width:640px){body{overflow-x:hidden!important}*{max-width:100vw}[style*="width: "][style*=px]{width:100%!important;max-width:100%}}@media (max-width:320px){body{font-size:14px}.container,[class*=container]{padding-left:.75rem;padding-right:.75rem}.btn,button{padding:.5rem 1rem;font-size:.875rem}}.no-horizontal-scroll{overflow-x:hidden;max-width:100%}.content-width-safe{max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.image-width-safe{max-width:100%;height:auto}.text-overflow-safe{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;hyphens:auto}.flex-shrink-safe{min-width:0;flex-shrink:1}.grid-item-safe{min-width:0;max-width:100%}.layout-safe{max-width:100%;overflow-x:hidden;overflow-wrap:break-word;word-wrap:break-word}@media (max-width:320px){body:before{content:"";display:none}}@media (min-width:640px) and (max-width:767px){body:before{content:"";display:none}}@media (min-width:1024px){body:before{content:"";display:none}}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent-600:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity, 1))}.hover\:text-accent-500:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity, 1))}.hover\:opacity-50:hover{opacity:.5}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-accent-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-accent-500:focus-visible{outline-color:#1e3a8a}.active\:translate-y-0:active{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-accent-700:active{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity, 1))}.active\:shadow-sm:active{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.sm\:mb-5{margin-bottom:1.25rem}.sm\:mb-8{margin-bottom:2rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:text-xl{font-size:1.25rem;line-height:1.7}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:mb-16{margin-bottom:4rem}.md\:mb-8{margin-bottom:2rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-4{gap:1rem}.md\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.md\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.md\:p-8{padding:2rem}.md\:pb-6{padding-bottom:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:1.7}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-base{font-size:1rem;line-height:1.7}.md\:text-lg{font-size:1.125rem;line-height:1.7}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-12{padding-left:3rem;padding-right:3rem}}