@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap');
*,:after,:before{--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:rgba(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:rgba(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: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #eee}:after,:before{--tw-content:""}:host,html{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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation 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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#bdbdbd}input::placeholder,textarea::placeholder{opacity:1;color:#bdbdbd}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-24{bottom:6rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.-ml-px{margin-left:-1px}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.min-h-screen{min-height:100vh}.w-16{width:4rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-full{width:100%}.min-w-\[120px\]{min-width:120px}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[calc\(100vw-3rem\)\]{max-width:calc(100vw - 3rem)}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(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*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-tl-none{border-top-left-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(238 238 238/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(66 66 66/var(--tw-border-opacity,1))}.border-primary-500{--tw-border-opacity:1;border-color:rgb(245 124 0/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(51 51 51/var(--tw-bg-opacity,1))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(255 224 178/var(--tw-bg-opacity,1))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(255 243 224/var(--tw-bg-opacity,1))}.bg-primary-500{--tw-bg-opacity:1;background-color:rgb(245 124 0/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-primary-50{--tw-gradient-from:#fff3e0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,243,224,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pr-4{padding-right:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-gray-300{--tw-text-opacity:1;color:rgb(224 224 224/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(189 189 189/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(158 158 158/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(117 117 117/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(97 97 97/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(51 51 51/var(--tw-text-opacity,1))}.text-primary-500{--tw-text-opacity:1;color:rgb(245 124 0/var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:rgb(251 140 0/var(--tw-text-opacity,1))}.text-primary-700{--tw-text-opacity:1;color:rgb(245 124 0/var(--tw-text-opacity,1))}.text-primary-800{--tw-text-opacity:1;color:rgb(239 108 0/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(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)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.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}.duration-200{transition-duration:.2s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.first\:rounded-t-lg:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.last\:rounded-b-lg:last-child{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgb(251 140 0/var(--tw-bg-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(66 66 66/var(--tw-text-opacity,1))}.hover\:text-primary-400:hover{--tw-text-opacity:1;color:rgb(255 167 38/var(--tw-text-opacity,1))}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgb(245 124 0/var(--tw-text-opacity,1))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgb(251 140 0/var(--tw-text-opacity,1))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(245 124 0/var(--tw-text-opacity,1))}.hover\:text-primary-900:hover{--tw-text-opacity:1;color:rgb(230 81 0/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:z-10:focus{z-index:10}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(245 124 0/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.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-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 124 0/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mb-2{margin-bottom:.5rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:mb-8{margin-bottom:2rem}.sm\:mt-16{margin-top:4rem}.sm\:mt-8{margin-top:2rem}.sm\:w-auto{width:auto}.sm\:min-w-\[150px\]{min-width:150px}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.sm\:p-3{padding:.75rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:pr-6{padding-right:1.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:mb-8{margin-bottom:2rem}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:hidden{display:none}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}}header nav.space-x-8>a{white-space:nowrap}
@media (min-width:768px) and (max-width:1439px){header nav.space-x-8>:not([hidden])~:not([hidden]){margin-left:.85rem}header nav.space-x-8>a span{font-size:13px}}
@media (min-width:768px) and (max-width:1099px){header nav.space-x-8>:not([hidden])~:not([hidden]){margin-left:.6rem}header nav.space-x-8>a span{font-size:12px}header nav.space-x-8>a svg{width:14px;height:14px}}

/* ============================================================
   Geist design layer — типографика и стиль колонок
   Перенесено из присланного компонента (Vercel Geist):
   шрифт, трекинг, радиусы 12/6, волосяные границы,
   многослойная мягкая тень, серая шкала, шаг сетки 24.
   Слой идёт последним, поэтому переопределяет utility-классы
   прекомпилированного Tailwind без правки HTML.
   ============================================================ */

:root{
  --ds-gray-1000:#171717;
  --ds-gray-900:#404040;
  --ds-gray-700:#8f8f8f;
  --ds-gray-400:#ebebeb;
  --ds-border:rgba(0,0,0,.08);
  --ds-shadow-border:0 0 0 1px rgba(0,0,0,.08);
  --ds-shadow-small:0 2px 2px rgba(0,0,0,.04);
  --ds-shadow-menu:0 0 0 1px rgba(0,0,0,.08),0 1px 1px rgba(0,0,0,.02),0 4px 8px -4px rgba(0,0,0,.04),0 16px 24px -8px rgba(0,0,0,.06);
  --ds-radius-card:12px;
  --ds-radius-control:6px;
}

/* ---------- Шрифты ---------- */
html:root,html:root body{font-family:Geist,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.011em;color:var(--ds-gray-1000)}
h1[class],h2[class],h3[class],h4[class],h5[class]{font-weight:600;letter-spacing:-.032em}
h1[class]{letter-spacing:-.042em}
.text-4xl,.text-5xl,.text-6xl,.text-7xl{letter-spacing:-.042em}
.text-xs,.text-sm{letter-spacing:0}
.font-extrabold[class],.font-black[class]{font-weight:700}
.text-gray-500,.text-gray-600{color:var(--ds-gray-700)}

/* ---------- Колонки и карточки ---------- */
.rounded-2xl,.rounded-3xl{border-radius:var(--ds-radius-card)}
.rounded-xl{border-radius:var(--ds-radius-card)}
.rounded-lg,.rounded-md{border-radius:var(--ds-radius-control)}
.shadow-sm{box-shadow:var(--ds-shadow-border),var(--ds-shadow-small)}
.shadow,.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl{box-shadow:var(--ds-shadow-menu)}
.border-gray-100,.border-gray-200,.border-gray-300{border-color:var(--ds-gray-400)}
.border-2{border-width:1px}

/* шаг сетки 24 — ровные колонки вместо разнобоя */
.gap-8{gap:24px}
.gap-6{gap:20px}
.gap-x-8{column-gap:24px}
.gap-y-8{row-gap:24px}

/* ---------- Поля и кнопки ---------- */
input[class],select[class],textarea[class]{
  border-width:1px;border-color:var(--ds-gray-400);
  border-radius:var(--ds-radius-control);box-shadow:none
}
/* Составные поля (код страны + номер телефона): каждая половина скруглена
   только со своей внешней стороны, иначе оба блока получают радиус со
   всех сторон и стык между ними выглядит рваным/кривым. */
input[class*="rounded-l-lg"],select[class*="rounded-l-lg"],textarea[class*="rounded-l-lg"]{
  border-top-right-radius:0;border-bottom-right-radius:0;
  border-top-left-radius:var(--ds-radius-control);border-bottom-left-radius:var(--ds-radius-control);
}
input[class*="rounded-r-lg"],select[class*="rounded-r-lg"],textarea[class*="rounded-r-lg"]{
  border-top-left-radius:0;border-bottom-left-radius:0;
  border-top-right-radius:var(--ds-radius-control);border-bottom-right-radius:var(--ds-radius-control);
}
a[class*="bg-primary-"]:not([class*="rounded-full"]),
button[class*="bg-primary-"]:not([class*="rounded-full"]),
button[type="submit"][class]:not([class*="rounded-full"]){
  border-radius:var(--ds-radius-control);font-weight:500;box-shadow:none
}
/* круглые элементы остаются круглыми */
[class*="rounded-full"]{border-radius:9999px}

/* =========================================================
   Brand layer — Orient Square
   Фирменные цвета из брендбука:
   оранжевый #F07E01 · фиолетовый #70217A · кремовый #FFF8B9
   ========================================================= */
:root{
  --os-orange:#F07E01;
  --os-purple:#70217A;
  --os-purple-600:#5A1A63;
  --os-cream:#FFF8B9;
  --os-cream-soft:#FFFCE6;
}

/* Логотип в шапке и подвале */
.os-logo{height:36px;width:auto;display:block}
@media(min-width:768px){.os-logo{height:42px}}
.os-logo--footer{height:42px;margin-bottom:4px}

/* Логотип-видео в шапке: кремовая подложка (#FFF8B9, тот же цвет, что и у
   самого ролика) — на самой ССЫЛКЕ, с отступом, а не только на видео.
   Если красить одно лишь видео вплотную, получается жёсткая кромка на белой
   шапке; так фон вокруг логотипа сливается с фоном самого логотипа. */
.os-logo-link{background:#FFF8B9;padding:5px 10px;border-radius:10px}
.os-logo-video{aspect-ratio:720/230;object-fit:cover;display:block;cursor:pointer}

/* Фирменная полоса над подвалом (оранжевый → фиолетовый) */
footer.bg-gray-900{
  background-image:linear-gradient(90deg,var(--os-orange) 0 58%,#9B32AD 58% 100%);
  background-size:100% 3px;background-repeat:no-repeat;background-position:top left;
}

/* Фиолетовый как второй фирменный цвет */
.os-accent{color:var(--os-purple)}
.os-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;
  background:var(--os-purple);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em}
.os-btn-purple{background:var(--os-purple);color:#fff}
.os-btn-purple:hover{background:var(--os-purple-600)}
.os-cream-section{background:var(--os-cream-soft)}

/* Шапка: логотип-локап шире прежней иконки — ужимаем меню на средних экранах.
   На иконки у пунктов меню места не хватает вместе с текстом на средних
   экранах — прячем иконки (сам текст пункта остаётся) и оставляем отступ
   не теснее 20px, чтобы пункты не слипались друг с другом. */
header nav.space-x-8 > :not([hidden]) ~ :not([hidden]){white-space:nowrap}
header a[href="auth.html"]{white-space:nowrap}
@media(min-width:768px) and (max-width:1535px){
  .os-logo{height:30px}
  header nav.space-x-8 > :not([hidden]) ~ :not([hidden]){margin-left:20px}
  header nav.space-x-8 a span{font-size:14px}
  header nav.space-x-8 > a > svg{display:none}
}
@media(min-width:1536px){
  .os-logo{height:36px}
  header nav.space-x-8 > :not([hidden]) ~ :not([hidden]){margin-left:28px}
}

/* ======================================================================
   МОБИЛЬНЫЙ СЛОЙ (телефоны, ≤768px)
   Добавлено 16.09.2026: убираем горизонтальный сдвиг страницы,
   делаем ряды-вкладки прокручиваемыми, карточку квартиры — на весь экран,
   увеличиваем тап-таргеты. Десктоп не затрагивается.
   ====================================================================== */
@media (max-width:768px){

  /* страница никогда не шире экрана */
  html,body{max-width:100%;overflow-x:hidden}

  /* 1. Переключатель блоков №1…№6 — горизонтальная прокрутка, отдельная строка */
  .crumbrow{flex-wrap:wrap;row-gap:.5rem}
  .crumbrow .bsw{order:2;width:100%;margin-left:0 !important;display:flex !important;
    overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .bsw::-webkit-scrollbar{display:none}
  .bsw a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:38px}

  /* 2. Панель фильтров на страницах блоков — в две колонки, без «слипшихся» подписей */
  .bar:has(#viewSeg){display:grid !important;grid-template-columns:auto minmax(0,1fr);
    gap:.5rem .6rem;align-items:center}
  .bar:has(#viewSeg) > #viewSeg{grid-column:1 / -1;display:flex;width:100%}
  .bar:has(#viewSeg) > #viewSeg button{flex:1;justify-content:center;text-align:center}
  .bar:has(#viewSeg) > span[style*="flex"]{display:none}
  .bar:has(#viewSeg) > .link-btn{grid-column:1;justify-self:start}
  .bar:has(#viewSeg) > #langSeg{grid-column:2;justify-self:end}
  .bar .sel{width:100%}

  /* 3. Карточка квартиры (выдвижная панель) — на весь экран телефона */
  .drawer{width:100% !important;max-width:100vw !important;left:0 !important;right:0 !important}
  .dbody{padding-bottom:1.5rem;-webkit-overflow-scrolling:touch}

  /* 4. Кнопки масштаба плана и крестики — под палец */
  .zoomer{right:.5rem;top:.5rem}
  .zoomer button{width:2.4rem;height:2.4rem;font-size:1.05rem}
  .x,.tclose{width:2.6rem;height:2.6rem}
  .seg button{min-height:40px;display:inline-flex;align-items:center}
  .ftab{min-height:44px}

  /* 5. Широкое содержимое не растягивает страницу */
  img,svg,video,canvas,iframe{max-width:100%}
  table{max-width:100%}
  .scroll{overflow:auto;-webkit-overflow-scrolling:touch}
  .chess,.floors{-webkit-overflow-scrolling:touch}

  /* 6. Полноэкранный фон на странице Investment не вылезает вбок */
  .ti-hero-bg{left:0 !important;right:0 !important;width:100% !important}

  /* 7. График платежей: колонки не ломаются, таблица прокручивается вбок */
  table.tb{font-size:.78rem}
  table.tb th,table.tb td{white-space:nowrap}

  /* 8. iOS не зумит страницу при фокусе на поле (нужен шрифт ≥16px) */
  input,select,textarea{font-size:16px !important}
}

/* Открытое по тапу выпадающее меню в шапке (телефоны и планшеты).
   Сами панели скрыты классами Tailwind opacity-0/invisible, поэтому
   перекрываем их с !important — hover на десктопе работает как раньше. */
.os-dd-open > .os-dd-panel{opacity:1 !important;visibility:visible !important;pointer-events:auto}
.os-dd-panel a,.os-dd-panel button{min-height:40px;display:flex;align-items:center}

/* ==========================================================================
   Glass Explorer — светлая стеклянная тема: белый фон + оранжевый акцент,
   тот же материал (размытие, прозрачность, мягкая глубина), что и раньше,
   просто на белом, а не на чёрном (см. References/design-system-glass-explorer.md).
   Идёт последним слоем и переопределяет Tailwind-утилиты без правки HTML.
   Футер сознательно остаётся тёмным (контраст/якорь) — для него ниже
   отдельные, точечные исключения.
   ========================================================================== */
:root{
  --ge-bg:#faf8f5;
  --ge-bg-soft:#f2ede6;
  --ge-surface:rgba(255,255,255,.62);
  --ge-surface-strong:rgba(255,255,255,.85);
  --ge-surface-press:rgba(255,255,255,.97);
  --ge-border:rgba(28,23,18,.10);
  --ge-border-soft:rgba(28,23,18,.07);
  --ge-text:#1c1712;
  --ge-text-soft:rgba(28,23,18,.68);
  --ge-text-mute:rgba(28,23,18,.48);
  --ge-blur:20px;

  /* монолитный акцент: единый яркий фирменный оранжевый (тот же тон, что и
     в блоках/калькуляторе — --p:#F57C00) и для текста/рамок, и для сплошной
     заливки кнопок. Выбран по прямому запросу пользователя вместо приглушённого
     тона; на белом тексте (.bg-primary-500 и т.п.) контраст ниже 4.5:1 — см.
     предупреждения impeccable, это осознанный компромисс ради единого бренд-цвета. */
  --ge-orange:#F57C00;
  --ge-orange-strong:#E65100;
  --ge-orange-on-dark:#FFB74D;
  --ge-orange-solid:#F57C00;
  --ge-orange-solid-hover:#EF6C00;
  --ge-orange-fill:rgba(245,124,0,.12);
  --ge-orange-fill-strong:rgba(245,124,0,.20);
  --ge-orange-border:rgba(245,124,0,.42);

  --ge-purple:#6b4f7c;
  --ge-purple-strong:#573d5c;
  --ge-purple-solid:#7a5c8c;
  --ge-purple-solid-hover:#664b76;
  --ge-purple-fill:rgba(122,92,140,.12);
  --ge-purple-fill-strong:rgba(122,92,140,.20);
  --ge-purple-border:rgba(122,92,140,.42);
}

/* переиспользуем уже объявленные переменные Geist/Brand слоёв — этого
   достаточно, чтобы заголовки, text-gray-500/600, рамки gray-100/200/300
   и все .shadow-* переключились на светлую стеклянную версию сами */
:root{
  --ds-gray-1000:var(--ge-text);
  --ds-gray-900:var(--ge-text-soft);
  --ds-gray-700:var(--ge-text-mute);
  --ds-gray-400:var(--ge-border);
  --ds-border:var(--ge-border-soft);
  --ds-shadow-border:0 0 0 1px var(--ge-border-soft);
  --ds-shadow-small:0 1px 2px rgba(28,23,18,.06);
  --ds-shadow-menu:0 0 0 1px var(--ge-border-soft),0 24px 60px -20px rgba(28,23,18,.16);
  --ds-radius-card:20px;
  --ds-radius-control:12px;
  --os-orange:var(--ge-orange);
  --os-purple:var(--ge-purple);
  --os-purple-600:var(--ge-purple-strong);
  --os-cream:var(--ge-orange-fill);
  --os-cream-soft:var(--ge-surface);
}

html{
  background:
    radial-gradient(1200px 640px at 12% -12%,rgba(245,124,0,.07),transparent 60%),
    radial-gradient(1000px 720px at 112% 8%,rgba(122,92,140,.06),transparent 55%),
    var(--ge-bg);
  background-attachment:fixed,fixed,fixed;
}
body{background:transparent;color:var(--ge-text)}
::selection{background:rgba(245,124,0,.22);color:var(--ge-text)}
h1,h2,h3,h4,h5,h6{color:var(--ge-text)}

/* Стекло: любая белая поверхность (шапка, дропдауны, карточки, диалоги)
   становится матовым светлым стеклом с размытием фона за ней */
.bg-white{background-color:var(--ge-surface);backdrop-filter:blur(var(--ge-blur)) saturate(1.15);-webkit-backdrop-filter:blur(var(--ge-blur)) saturate(1.15)}
.bg-white\/70{
  background-color:rgba(255,255,255,.26);
  background-image:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,0) 55%);
  backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 8px 32px rgba(31,25,15,.1),inset 0 1px 0 rgba(255,255,255,.28);
}
.bg-white\/90{background-color:rgba(255,255,255,.92);backdrop-filter:blur(var(--ge-blur));-webkit-backdrop-filter:blur(var(--ge-blur))}
header.bg-white{background-color:#FFF8B9;border-bottom:1px solid var(--ge-border-soft)}
.bg-gray-50{background-color:var(--ge-surface)}
.bg-gray-100{background-color:var(--ge-surface-strong)}
.hover\:bg-gray-50:hover{background-color:var(--ge-surface-strong)}
.hover\:bg-gray-100:hover{background-color:var(--ge-surface-press)}

.text-gray-900{color:var(--ge-text)}
.text-gray-700{color:var(--ge-text-soft)}
.text-gray-400{color:var(--ge-text-mute)}
.hover\:text-gray-800:hover{color:var(--ge-text)}

/* акцент: оранжевый — монолитная заливка кнопок (белый текст, ровный цвет,
   не тон-в-тон со стеклом), а не полупрозрачная тонировка — так он остаётся
   единственным "плотным" цветом на прозрачном сайте */
.bg-primary-500{background:var(--ge-orange-solid);border:1px solid var(--ge-orange-solid);color:#fff}
.hover\:bg-primary-600:hover{background:var(--ge-orange-solid-hover);border-color:var(--ge-orange-solid-hover)}
.bg-primary-50{background:rgba(245,124,0,.08)}
.bg-primary-100{background:rgba(245,124,0,.14)}
.hover\:bg-primary-50:hover{background:rgba(245,124,0,.12)}
.text-primary-500,.text-primary-600,.text-primary-700,.text-primary-800{color:var(--ge-orange)}
.hover\:text-primary-400:hover,.hover\:text-primary-500:hover,.hover\:text-primary-600:hover,
.hover\:text-primary-700:hover,.hover\:text-primary-900:hover{color:var(--ge-orange-strong)}
.border-primary-500{border-color:var(--ge-orange-border)}
.focus\:border-primary-500:focus{border-color:var(--ge-orange-border)}
.focus\:ring-primary-500:focus{--tw-ring-color:var(--ge-orange-border)}
.from-primary-50{--tw-gradient-from:rgba(245,124,0,.08) var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,124,0,0) var(--tw-gradient-to-position)}
.to-white{--tw-gradient-to:var(--ge-bg-soft) var(--tw-gradient-to-position)}

/* фирменная полоса над футером — тонкая линия из тех же двух акцентов */
footer.bg-gray-900{
  background-color:#171310;
  background-image:linear-gradient(90deg,var(--ge-orange-solid) 0 50%,var(--ge-purple-solid) 50% 100%);
  background-size:100% 2px;background-repeat:no-repeat;background-position:top left;
}
/* Футер намеренно остаётся тёмным для контраста — здесь серые/акцентные
   классы нужно перечитать отдельно, иначе они унаследуют светлые значения */
footer.bg-gray-900 .text-gray-300{color:rgba(255,255,255,.7)}
footer.bg-gray-900 .text-gray-400{color:rgba(255,255,255,.45)}
footer.bg-gray-900 .border-gray-800{border-color:rgba(255,255,255,.14)}
footer.bg-gray-900 .hover\:text-primary-400:hover,
footer.bg-gray-900 .hover\:text-primary-500:hover{color:var(--ge-orange-on-dark)}
footer.bg-gray-900 h1,footer.bg-gray-900 h2,footer.bg-gray-900 h3,
footer.bg-gray-900 h4,footer.bg-gray-900 h5,footer.bg-gray-900 h6{color:#fff}

.os-badge{background:var(--ge-purple-fill);border:1px solid var(--ge-purple-border);color:var(--ge-purple)}
.os-btn-purple{background:var(--ge-purple-solid);color:#fff;border:1px solid var(--ge-purple-solid)}
.os-btn-purple:hover{background:var(--ge-purple-solid-hover);border-color:var(--ge-purple-solid-hover)}
.os-accent{color:var(--ge-purple)}
.os-cream-section{background:var(--ge-surface-strong)}

/* инпуты на стекле */
input[class],select[class],textarea[class]{background:var(--ge-surface);color:var(--ge-text)}
input[class]::placeholder,textarea[class]::placeholder{color:var(--ge-text-mute)}
