*,: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.14 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}: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:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[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}.sticky{position:sticky}.inset-0{inset:0}.-bottom-10{bottom:-2.5rem}.-bottom-2{bottom:-.5rem}.-bottom-3{bottom:-.75rem}.-left-3{left:-.75rem}.-left-6{left:-1.5rem}.-left-8{left:-2rem}.-right-3{right:-.75rem}.-right-6{right:-1.5rem}.-right-8{right:-2rem}.-top-10{top:-2.5rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-6{left:1.5rem}.right-12{right:3rem}.top-0{top:0}.top-10{top:2.5rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-72{height:18rem}.h-full{height:100%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[32rem\]{max-width:32rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-8{--tw-translate-y:-2rem}.-translate-y-8,.transform{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))}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.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))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[35\%\]{border-radius:35%}.rounded-\[40\%\]{border-radius:40%}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-brand{--tw-border-opacity:1;border-color:rgb(11 75 74/var(--tw-border-opacity))}.border-line{--tw-border-opacity:1;border-color:rgb(216 226 225/var(--tw-border-opacity))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-accent{--tw-bg-opacity:1;background-color:rgb(242 106 27/var(--tw-bg-opacity))}.bg-accent\/20{background-color:rgba(242,106,27,.2)}.bg-accent\/30{background-color:rgba(242,106,27,.3)}.bg-accent\/35{background-color:rgba(242,106,27,.35)}.bg-brand{--tw-bg-opacity:1;background-color:rgb(11 75 74/var(--tw-bg-opacity))}.bg-brand-dark{--tw-bg-opacity:1;background-color:rgb(8 55 53/var(--tw-bg-opacity))}.bg-brand\/20{background-color:rgba(11,75,74,.2)}.bg-brand\/25{background-color:rgba(11,75,74,.25)}.bg-brand\/30{background-color:rgba(11,75,74,.3)}.bg-brand\/40{background-color:rgba(11,75,74,.4)}.bg-surface-alt{--tw-bg-opacity:1;background-color:rgb(243 247 246/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.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-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.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-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pl-6{padding-left:1.5rem}.pt-24{padding-top:6rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:var(--font-heading),ui-sans-serif,system-ui,sans-serif}.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-\[0\.8rem\]{font-size:.8rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-\[11px\]{font-size:11px}.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-black{font-weight:900}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-\[0\.4em\]{letter-spacing:.4em}.text-brand{--tw-text-opacity:1;color:rgb(11 75 74/var(--tw-text-opacity))}.text-ink{--tw-text-opacity:1;color:rgb(12 34 33/var(--tw-text-opacity))}.text-muted{--tw-text-opacity:1;color:rgb(79 95 95/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-15{opacity:.15}.opacity-20{opacity:.2}.shadow-\[0_25px_70px_rgba\(12\2c 34\2c 33\2c 0\.14\)\]{--tw-shadow:0 25px 70px rgba(12,34,33,.14);--tw-shadow-colored:0 25px 70px 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-\[0_25px_80px_rgba\(12\2c 34\2c 33\2c 0\.18\)\]{--tw-shadow:0 25px 80px rgba(12,34,33,.18);--tw-shadow-colored:0 25px 80px var(--tw-shadow-color)}.shadow-\[0_25px_80px_rgba\(12\2c 34\2c 33\2c 0\.18\)\],.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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur:blur(8px)}.blur,.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)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-filter{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{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}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.placeholder\:text-white\/40::-moz-placeholder{color:hsla(0,0%,100%,.4)}.placeholder\:text-white\/40::placeholder{color:hsla(0,0%,100%,.4)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:-translate-y-1:hover{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))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:border-brand:hover{--tw-border-opacity:1;border-color:rgb(11 75 74/var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.hover\:bg-accent\/90:hover{background-color:rgba(242,106,27,.9)}.hover\:bg-surface-alt:hover{--tw-bg-opacity:1;background-color:rgb(243 247 246/var(--tw-bg-opacity))}.hover\:text-brand:hover{--tw-text-opacity:1;color:rgb(11 75 74/var(--tw-text-opacity))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(12 34 33/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(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-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-accent:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(242 106 27/var(--tw-ring-opacity))}.group[open] .group-open\:rotate-45{--tw-rotate:45deg;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))}.group:focus-within .group-focus-within\:visible{visibility:visible}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:text-ink{--tw-text-opacity:1;color:rgb(12 34 33/var(--tw-text-opacity))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:inline-flex{display:inline-flex}.sm\:h-44{height:11rem}.sm\:h-96{height:24rem}.sm\:w-44{width:11rem}.sm\:max-w-\[36rem\]{max-width:36rem}.sm\:translate-y-0{--tw-translate-y:0px;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))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:object-center{-o-object-position:center;object-position:center}.sm\:pt-32{padding-top:8rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-\[1\.75rem\]{font-size:1.75rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:mr-8{margin-right:2rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-56{height:14rem}.lg\:h-full{height:100%}.lg\:w-56{width:14rem}.lg\:w-\[52\%\]{width:52%}.lg\:max-w-\[32rem\]{max-width:32rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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\:grid-cols-\[1\.2fr_2fr_1fr\]{grid-template-columns:1.2fr 2fr 1fr}.lg\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}.lg\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:self-start{align-self:flex-start}.lg\:justify-self-end{justify-self:end}.lg\:p-8{padding:2rem}.lg\:pb-2{padding-bottom:.5rem}.lg\:pt-80{padding-top:20rem}}@media (min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}

:root {
  --brand: #0b4b4a;
  --brand-dark: #083735;
  --brand-mid: #0f6d67;
  --accent: #f26a1b;
  --accent-soft: #f6a46a;
  --surface: #ffffff;
  --surface-alt: #f3f7f6;
  --ink: #0c2221;
  --muted: #4f5f5f;
  --line: #d8e2e1;
  --font-body: 'Manrope';
  --font-heading: 'Poppins';
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: radial-gradient(
      1200px 600px at 12% -10%,
      rgba(14, 109, 103, 0.12),
      transparent 60%
    ),
    radial-gradient(
      900px 400px at 88% 12%,
      rgba(242, 106, 27, 0.12),
      transparent 55%
    ),
    var(--surface);
  color: var(--ink);
  font-family: var(--font-body), ui-sans-serif, system-ui, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading), ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -0.02em;
}

a {
  color: inherit;
}

.bg-grid-lines {
  background-image: linear-gradient(
      to right,
      rgba(13, 41, 40, 0.08) 1px,
      transparent 1px
    ),
    linear-gradient(to bottom, rgba(13, 41, 40, 0.08) 1px, transparent 1px);
  background-size: 120px 120px;
}

.foundation-section {
  position: relative;
  overflow: hidden;
}

.foundation-section::before {
  content: '';
  position: absolute;
  inset: -15% -10% 0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1440'%20height='640'%20viewBox='0%200%201440%20640'%20fill='none'%3E%3Cpath%20d='M-80%20180C240%2060%20520%2060%20840%20180C1160%20300%201440%20300%201760%20180'%20stroke='%230c2221'%20stroke-opacity='0.14'%20stroke-width='2'/%3E%3Cpath%20d='M-120%20280C200%20160%20520%20160%20840%20280C1160%20400%201480%20400%201800%20280'%20stroke='%230c2221'%20stroke-opacity='0.1'%20stroke-width='2'/%3E%3Cpath%20d='M-160%20380C160%20260%20520%20260%20840%20380C1160%20500%201520%20500%201840%20380'%20stroke='%230c2221'%20stroke-opacity='0.08'%20stroke-width='2'/%3E%3Cpath%20d='M-200%20480C120%20360%20520%20360%20840%20480C1160%20600%201560%20600%201880%20480'%20stroke='%230c2221'%20stroke-opacity='0.06'%20stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.5;
  pointer-events: none;
}

.foundation-section::after {
  content: '';
  position: absolute;
  right: -8%;
  top: 40%;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(242, 106, 27, 0.18), transparent 70%);
  opacity: 0.7;
  pointer-events: none;
}

.foundation-inner {
  position: relative;
  z-index: 1;
}

.foundation-header {
  max-width: 720px;
}

.foundation-grid {
  margin-top: 2.5rem;
  display: grid;
  gap: 2.25rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.foundation-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.85rem;
}

.foundation-media {
  position: relative;
  height: 220px;
  width: 100%;
  border-radius: 36px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--surface-alt);
  box-shadow: 0 18px 40px rgba(12, 34, 33, 0.12);
}

.foundation-media__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.foundation-media--infra::after {
  content: '';
  position: absolute;
  top: 8%;
  right: -18%;
  width: 46%;
  height: 46%;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.7);
}

.foundation-media--infra::before {
  content: '';
  position: absolute;
  bottom: 10%;
  left: 10%;
  width: 22%;
  height: 22%;
  border-radius: 40%;
  background: rgba(11, 75, 74, 0.18);
}

.foundation-media--connectivity {
  height: 230px;
  border: none;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.foundation-connectivity-core {
  position: absolute;
  inset: 22% 6% 6% 22%;
  border-radius: 40px 120px 40px 40px;
  background: linear-gradient(135deg, #f26a1b, #f7b079);
  box-shadow: 0 18px 34px rgba(242, 106, 27, 0.25);
}

.foundation-connectivity-orbit {
  position: absolute;
  top: -2%;
  left: -2%;
  width: 46%;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 8px solid #ffffff;
  background-size: cover;
  background-position: center;
  box-shadow: 0 18px 36px rgba(12, 34, 33, 0.2);
}

.foundation-connectivity-mini {
  position: absolute;
  bottom: -4%;
  right: 8%;
  width: 40%;
  height: 50%;
  border-radius: 24px;
  border: 6px solid #ffffff;
  background-size: cover;
  background-position: center;
  box-shadow: 0 16px 30px rgba(12, 34, 33, 0.18);
}

.foundation-media--tall {
  height: 250px;
}

.foundation-card__title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ink);
  margin-top: 0.1rem;
}

.foundation-card__copy {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--muted);
}

.foundation-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--accent);
  color: var(--ink);
  background: #ffffff;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.foundation-link:hover {
  background: var(--accent);
  color: #ffffff;
  transform: translateY(-2px);
}

.foundation-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.networking-section {
  position: relative;
  overflow: hidden;
}

.networking-section::before {
  content: '';
  position: absolute;
  inset: -18% -12% 0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1440'%20height='640'%20viewBox='0%200%201440%20640'%20fill='none'%3E%3Cpath%20d='M-80%20160C240%2040%20520%2040%20840%20160C1160%20280%201440%20280%201760%20160'%20stroke='%230c2221'%20stroke-opacity='0.1'%20stroke-width='2'/%3E%3Cpath%20d='M-120%20260C200%20140%20520%20140%20840%20260C1160%20380%201480%20380%201800%20260'%20stroke='%230c2221'%20stroke-opacity='0.08'%20stroke-width='2'/%3E%3Cpath%20d='M-160%20360C160%20240%20520%20240%20840%20360C1160%20480%201520%20480%201840%20360'%20stroke='%230c2221'%20stroke-opacity='0.06'%20stroke-width='2'/%3E%3Cpath%20d='M-200%20460C120%20340%20520%20340%20840%20460C1160%20580%201560%20580%201880%20460'%20stroke='%230c2221'%20stroke-opacity='0.05'%20stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.45;
  pointer-events: none;
}

.networking-section::after {
  content: '';
  position: absolute;
  right: -6%;
  top: 12%;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(15, 109, 103, 0.18), transparent 70%);
  opacity: 0.6;
  pointer-events: none;
}

.networking-inner {
  position: relative;
  z-index: 1;
}

.networking-header {
  max-width: 520px;
}

.networking-grid {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
  grid-template-columns: 1fr;
}

.networking-card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  align-items: flex-start;
}

.networking-card--left {
  position: relative;
}

.networking-card--left .networking-figure--left {
  width: min(340px, 100%);
  height: 430px;
  align-self: flex-start;
}

.networking-figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.networking-figure--left {
  height: 380px;
  width: 100%;
  border-radius: 36px;
  overflow: hidden;
  border: 1px solid rgba(12, 34, 33, 0.08);
  background: #ffffff;
  box-shadow: 0 22px 46px rgba(12, 34, 33, 0.12);
  z-index: 1;
}

.networking-figure--right {
  height: 260px;
  width: 100%;
}

.networking-figure--media {
  height: 300px;
}

.networking-image {
  display: block;
  object-fit: cover;
}

.networking-image--fill {
  width: 100%;
  height: 100%;
  border-radius: 32px;
}

.networking-image--rounded {
  width: 220px;
  height: 220px;
  border-radius: 32px;
  border: 1px solid var(--line);
  box-shadow: 0 20px 40px rgba(12, 34, 33, 0.18);
  position: relative;
  z-index: 2;
}

.networking-image--circle {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 1px solid var(--line);
  box-shadow: 0 20px 40px rgba(12, 34, 33, 0.18);
  position: relative;
  z-index: 2;
}

.networking-image--media {
  border: 0;
  box-shadow: 0 24px 40px rgba(12, 34, 33, 0.2);
}

.networking-shape {
  position: absolute;
  pointer-events: none;
}

.networking-arch {
  position: absolute;
  right: -34px;
  top: 44px;
  width: 170px;
  height: 260px;
  border-radius: 90px 90px 36px 36px;
  background: linear-gradient(180deg, #ff5f9a 0%, #ff7e3e 100%);
  z-index: 0;
  pointer-events: none;
}

.networking-orb {
  position: absolute;
  left: -28px;
  bottom: -36px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(242, 106, 27, 0.85);
  z-index: 2;
  pointer-events: none;
}

.networking-shape--teal {
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: linear-gradient(140deg, #1fb9b0, #0f6d67);
  right: 6%;
  top: -4%;
  z-index: 1;
}

.networking-shape--sunset {
  width: 220px;
  height: 260px;
  border-radius: 48px;
  background: linear-gradient(160deg, #ff8b2a, #ffd23b);
  left: 6%;
  top: 6%;
  z-index: 0;
}

.networking-shape--overlay {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: #f26a1b;
  right: 6%;
  top: -4%;
  z-index: 3;
}

.networking-card__title {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink);
}

.networking-card__copy {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--muted);
}

.networking-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--accent);
  color: var(--ink);
  background: #ffffff;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.networking-link:hover {
  background: var(--accent);
  color: #ffffff;
  transform: translateY(-2px);
}

.networking-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.header-utility {
  padding-block: clamp(0.35rem, 0.9vw, 0.65rem);
}

.header-main {
  padding-block: clamp(0.6rem, 1.5vw, 1rem);
}

.blob {
  border-radius: 999px;
  filter: blur(18px);
  opacity: 0.9;
}

.logo-float {
  animation: logo-float 6s ease-in-out infinite;
}

.logo-fade {
  animation: logo-fade 5.5s ease-in-out infinite;
}

.marquee {
  display: flex;
  gap: 16px;
  width: max-content;
  animation: marquee 22s linear infinite;
}

.partner-marquee {
  align-items: center;
  gap: clamp(2rem, 5vw, 4rem);
  padding: 0.5rem 0;
}

.partner-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading), ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  font-size: clamp(0.75rem, 1.8vw, 1.05rem);
  transition: color 0.2s ease, transform 0.2s ease;
}

.partner-mark:hover {
  color: rgba(255, 255, 255, 1);
  transform: translateY(-2px);
}

.horizontal-section {
  overflow: hidden;
}

.sliding-text {
  font-family: var(--font-heading), ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(2.5rem, 8vw, 6.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  white-space: nowrap;
  transition: transform 0.2s ease;
}

.sliding-text.primary {
  color: var(--brand);
}

.sliding-text.alt {
  color: var(--accent);
}

.sliding-text.secondary {
  color: var(--brand-mid);
}

.ai-scroll {
  font-family: var(--font-heading), ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  min-height: auto;
  padding-top: 0;
  padding-bottom: 0;
}

.ai-scroll p {
  max-width: min(62ch, 90vw);
}

.ai-scroll p:nth-of-type(1) {
  align-self: flex-start;
  text-align: left;
}

.ai-scroll p:nth-of-type(2) {
  align-self: flex-end;
  text-align: right;
}

.ai-scroll p:nth-of-type(3) {
  align-self: center;
  text-align: center;
}

.ai-scroll p:nth-of-type(4) {
  align-self: flex-start;
  text-align: left;
}

.ai-scroll p:nth-of-type(5) {
  align-self: center;
  text-align: center;
}

.ai-scroll p:nth-of-type(6) {
  align-self: flex-end;
  text-align: right;
}

.ai-scroll p:nth-of-type(7) {
  align-self: flex-start;
  text-align: left;
}

.ai-scroll p:nth-of-type(8) {
  align-self: center;
  text-align: center;
}

@media (max-width: 640px) {
  .ai-scroll {
    gap: 0.35rem;
  }

  .ai-scroll p {
    max-width: 94vw;
    align-self: center;
    text-align: center;
  }

  .ai-scroll-line {
    font-size: clamp(0.85rem, 3.2vw, 1.1rem);
    letter-spacing: 0.12em;
  }

  .ai-scroll-title {
    font-size: clamp(0.8rem, 3.6vw, 1rem);
    letter-spacing: 0.16em;
  }

  .ai-scroll-sub {
    font-size: clamp(0.72rem, 3.2vw, 0.95rem);
    letter-spacing: 0.08em;
  }
}
.ai-scroll-line {
  font-size: clamp(1.1rem, 2.4vw, 2rem);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink);
  font-weight: 800;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  line-height: 1.15;
}

.ai-scroll-title {
  font-size: clamp(0.85rem, 1.6vw, 1.2rem);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand);
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  line-height: 1.2;
}

.ai-scroll-sub {
  margin: 0 auto;
  font-size: clamp(0.8rem, 1.4vw, 1.1rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  width: 100%;
  max-width: 1200px;
  line-height: 1.15;
}

.sphere-hero {
  padding: clamp(4rem, 10vw, 7rem) 0;
}

/* Portfolio showcase (AI solutions in action) */
.portfolio-showcase {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  border-radius: 28px;
  border: 1px solid var(--line);
  overflow: hidden;
  background: linear-gradient(135deg, rgba(12, 34, 33, 0.035), rgba(12, 34, 33, 0.02));
  box-shadow: 0 28px 64px rgba(12, 34, 33, 0.1);
}

.portfolio-menu {
  padding: 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  background: rgba(12, 34, 33, 0.03);
  border-right: 1px solid rgba(12, 34, 33, 0.06);
}

.portfolio-menu__item {
  appearance: none;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.55);
  color: var(--muted);
  padding: 1rem 1.05rem;
  border-radius: 18px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease,
    transform 0.18s ease, color 0.18s ease;
}

.portfolio-menu__item:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.78);
  color: var(--ink);
}

.portfolio-menu__item:focus-visible {
  outline: 2px solid rgba(242, 106, 27, 0.45);
  outline-offset: 2px;
}

.portfolio-menu__item.is-active {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(12, 34, 33, 0.12);
  color: var(--ink);
  box-shadow: 0 18px 40px rgba(12, 34, 33, 0.12);
}

.portfolio-menu__icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(242, 106, 27, 0.12);
  color: var(--accent);
  flex: 0 0 auto;
}

.portfolio-menu__label {
  font-family: var(--font-heading), ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.portfolio-menu__arrow {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(12, 34, 33, 0.06);
  color: var(--ink);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.portfolio-menu__item.is-active .portfolio-menu__arrow {
  opacity: 1;
  transform: translateX(0);
  background: rgba(12, 34, 33, 0.08);
}

.portfolio-detail {
  background: var(--surface);
  padding: clamp(1.25rem, 2vw, 2.25rem);
  position: relative;
  overflow: hidden;
}

.portfolio-detail::before {
  content: '';
  position: absolute;
  inset: -40% -30% 0;
  background: radial-gradient(circle at 20% 30%, rgba(14, 109, 103, 0.12), transparent 55%),
    radial-gradient(circle at 80% 10%, rgba(242, 106, 27, 0.12), transparent 55%);
  pointer-events: none;
}

.portfolio-detail__head {
  position: relative;
  max-width: 820px;
}

.portfolio-detail__title {
  margin: 0;
  font-family: var(--font-heading), ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.portfolio-detail__subtitle {
  margin: 0.65rem 0 0;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 62ch;
}

.portfolio-window {
  position: relative;
  margin-top: 1.7rem;
  max-width: 860px;
  width: 100%;
  border-radius: 22px;
  border: 1px solid rgba(12, 34, 33, 0.12);
  background: rgba(243, 247, 246, 0.9);
  overflow: hidden;
  box-shadow: 0 28px 60px rgba(12, 34, 33, 0.14);
}

.portfolio-window__bar {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.85rem 1rem;
  background: rgba(255, 255, 255, 0.86);
  border-bottom: 1px solid rgba(12, 34, 33, 0.12);
  backdrop-filter: blur(10px);
}

.portfolio-window__dots {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.portfolio-window__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(12, 34, 33, 0.18);
}

.portfolio-window__dot:nth-child(1) {
  background: #ff5f57;
}

.portfolio-window__dot:nth-child(2) {
  background: #febc2e;
}

.portfolio-window__dot:nth-child(3) {
  background: #28c840;
}

.portfolio-window__caption {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
}

.portfolio-window__spacer {
  flex: 1 1 auto;
}

.portfolio-window__action {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(12, 34, 33, 0.14);
  background: rgba(255, 255, 255, 0.95);
  display: grid;
  place-items: center;
  box-shadow: 0 10px 22px rgba(12, 34, 33, 0.12);
}

.portfolio-window__body {
  position: relative;
  padding: clamp(1rem, 2.2vw, 1.4rem);
}

.portfolio-window__image {
  width: 100%;
  height: auto;
  max-height: 480px;
  display: block;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(12, 34, 33, 0.12);
  box-shadow: 0 22px 52px rgba(12, 34, 33, 0.12);
  object-fit: cover;
  transition: opacity 0.22s ease, transform 0.22s ease, filter 0.22s ease;
}

.portfolio-window__image.is-loading {
  opacity: 0.18;
  filter: blur(1px);
  transform: scale(0.995);
}

.portfolio-summary {
  position: absolute;
  right: clamp(0.9rem, 2vw, 1.5rem);
  bottom: clamp(0.9rem, 2vw, 1.4rem);
  width: min(300px, 42%);
  transform: none;
  background: rgba(240, 248, 255, 0.9);
  border: 1px solid rgba(59, 130, 246, 0.32);
  border-radius: 18px;
  padding: 0.95rem 1rem;
  box-shadow: 0 22px 54px rgba(12, 34, 33, 0.18);
  backdrop-filter: blur(12px);
}

.portfolio-summary__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: #2563eb;
  margin-bottom: 0.75rem;
}

.portfolio-summary__list {
  margin: 0;
  padding-left: 1.1rem;
  color: #1f3d72;
  font-size: 0.9rem;
  line-height: 1.6;
}

.portfolio-summary__list li + li {
  margin-top: 0.4rem;
}

#portfolio .project-card > div:last-child > span:first-child {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#portfolio .project-card h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

#portfolio .project-card p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

@media (max-width: 960px) {
  .portfolio-showcase {
    grid-template-columns: 1fr;
  }

  .portfolio-menu {
    border-right: 0;
    border-bottom: 1px solid rgba(12, 34, 33, 0.06);
    flex-direction: row;
    overflow-x: auto;
    padding: 0.9rem 0.9rem 0.75rem;
  }

  .portfolio-menu__item {
    min-width: 240px;
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .portfolio-summary {
    position: static;
    transform: none;
    width: 100%;
    margin-top: 1rem;
  }
}

@media (max-width: 640px) {
  #portfolio .portfolio-grid {
    gap: 1.5rem;
  }

  #portfolio .project-card {
    border-radius: 1.5rem;
  }

  #portfolio .project-card > div:last-child {
    padding: 1.25rem;
  }

  #portfolio .project-card > div:last-child > span:first-child {
    font-size: 0.6rem;
    letter-spacing: 0.16em;
    padding: 0.3rem 0.6rem;
    line-height: 1.2;
  }

  #portfolio .project-card h3 {
    font-size: 1.15rem;
    line-height: 1.3;
  }

  #portfolio .project-card p {
    font-size: 0.9rem;
  }

  .portfolio-detail__subtitle {
    font-size: 0.98rem;
  }

  .portfolio-menu {
    gap: 0.6rem;
  }

  .portfolio-menu__item {
    min-width: 210px;
    padding: 0.9rem 0.9rem;
    border-radius: 16px;
  }

  .portfolio-window__bar {
    padding: 0.75rem 0.9rem;
  }

  .portfolio-window__action {
    width: 34px;
    height: 34px;
  }

  .portfolio-window__image {
    max-height: 340px;
  }
}

.sphere-hero-inner {
  width: min(1200px, 92vw);
  height: min(720px, 82vh);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stage {
  width: min(720px, 86vw);
  height: min(720px, 86vw);
  position: relative;
  perspective: 1400px;
  transform-style: preserve-3d;
}

@media (max-width: 640px) {
  .sphere-hero {
    padding: 3rem 0;
  }

  .sphere-hero-inner {
    height: auto;
  }

  .stage {
    width: min(560px, 92vw);
    height: min(560px, 92vw);
  }
}


.sphere {
  position: absolute;
  inset: 0;
  margin: auto;
  transform-style: preserve-3d;
  will-change: transform, opacity;
}

.sphere-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(90px, 10vw, 160px);
  height: clamp(70px, 8vw, 120px);
  border-radius: 10px;
  overflow: hidden;
  background: #0b0b0b;
  border: 1px solid rgba(255, 255, 255, 0.05);
  transform-style: preserve-3d;
  transition: filter 0.2s ease;
  will-change: transform, filter;
  padding: 0;
  cursor: pointer;
  appearance: none;
}

.sphere-card:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.5);
  outline-offset: 2px;
}

.sphere-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sphere-card.is-hovered {
  filter: brightness(1.15) saturate(1.1);
}

.sphere-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 60;
}

.sphere-modal.is-open {
  display: flex;
}

.sphere-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}

.sphere-modal__content {
  position: relative;
  z-index: 1;
  background: #0c0c0c;
  padding: 1.5rem;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  max-width: min(90vw, 720px);
  color: #f5f5f5;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.sphere-modal__image {
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.sphere-modal__caption {
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
}

.sphere-modal__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
}

.service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: #f3f7f6;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  height: 260px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, height 0.35s ease;
}

.service-card__media {
  position: relative;
  flex: 1 1 auto;
  min-height: 160px;
  overflow: hidden;
}

.service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 1px solid rgba(12, 34, 33, 0.12);
  border-radius: 18px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25);
  transition: transform 0.35s ease;
}

.service-card__tag {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.6rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  font-weight: 600;
  background: rgba(12, 34, 33, 0.82);
  color: #ffffff;
}

.service-card__body {
  background: #ffffff;
  padding: 1rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.service-card__details {
  max-height: 0;
  opacity: 0;
  transform: translateY(12px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  transition: opacity 0.3s ease, transform 0.3s ease, max-height 0.35s ease;
}

.service-card__cta {
  margin-top: 0.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  background: var(--accent);
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  width: fit-content;
}

.service-card:hover,
.service-card:focus-within {
  height: 340px;
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(12, 34, 33, 0.18);
}

.service-card:hover .service-card__body,
.service-card:focus-within .service-card__body {
  opacity: 1;
}

.service-card:hover .service-card__details,
.service-card:focus-within .service-card__details {
  max-height: 160px;
  opacity: 1;
  transform: translateY(0);
}

.service-card--tall {
  height: 290px;
}

.service-card--tall:hover,
.service-card--tall:focus-within {
  height: 390px;
}

.service-card--tall:hover .service-card__details,
.service-card--tall:focus-within .service-card__details {
  max-height: 220px;
}

.service-card:hover .service-card__media img,
.service-card:focus-within .service-card__media img {
  transform: scale(1.05);
}

.service-card:focus-visible {
  outline: 2px solid rgba(242, 106, 27, 0.6);
  outline-offset: 3px;
}

.support-intro {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  max-width: 52rem;
}

@media (hover: none) {
  .service-card {
    height: auto;
  }

  .service-card__body {
    opacity: 1;
  }

  .service-card__details {
    max-height: none;
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sphere,
  .sphere-card,
  .service-card,
  .service-card__media img,
  .service-card__body {
    transition: none;
  }
}

.siena-gallery {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1600px;
  position: relative;
}

.siena-mask {
  width: min(640px, 92vw);
  aspect-ratio: 1 / 1;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}

.siena-orbit {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
  opacity: 1;
  transform: none;
}

.siena-orbit.kaleidoscope {
  filter: saturate(1.1) contrast(1.05);
}

.siena-orbit.kaleidoscope .siena-card {
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
}

.siena-orbit.kaleidoscope .siena-card::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.18), transparent 55%);
  mix-blend-mode: screen;
  pointer-events: none;
}

.siena-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(130px, 15vw, 220px);
  height: clamp(90px, 11vw, 150px);
  border-radius: 10px;
  border: 0;
  background: transparent;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.28);
  overflow: hidden;
  transform: translate3d(-50%, -50%, 0);
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease;
  will-change: transform;
}

.siena-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.05);
}

.siena-orbit.is-grid .siena-card {
  transform: translate(calc(-50% + var(--gx)), calc(-50% + var(--gy))) rotateX(6deg) rotateY(-6deg);
  box-shadow: 0 14px 30px rgba(12, 34, 33, 0.2);
}

.siena-orbit.is-grid {
  opacity: 1;
  transform: scale(1) rotateX(0deg) rotateY(0deg);
}

.gallery {
  margin-top: 2rem;
  perspective: 1200px;
}

.gallery-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  transform-style: preserve-3d;
}

.gallery-card {
  height: 220px;
  border-radius: 20px;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(11, 75, 74, 0.1), rgba(242, 106, 27, 0.12));
  box-shadow: 0 18px 40px rgba(12, 34, 33, 0.12);
  transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(var(--tz))
    translateX(var(--tx)) translateY(var(--ty));
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease;
  overflow: hidden;
  position: relative;
}

.gallery-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(242, 106, 27, 0.18), transparent 55%);
  opacity: 0.7;
}

.gallery-card span {
  position: absolute;
  left: 16px;
  bottom: 16px;
  font-size: 12px;
  letter-spacing: 0.2em;
  color: rgba(12, 34, 33, 0.8);
}

.gallery-grid.is-grid .gallery-card {
  transform: perspective(1000px) rotateX(10deg) rotateY(-8deg) translateZ(0px)
    translateX(0px) translateY(0px);
  box-shadow: 0 12px 30px rgba(12, 34, 33, 0.2);
}

.parallax-side {
  position: absolute;
  top: 50%;
  width: 160px;
  height: 240px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(12, 34, 33, 0.15);
  box-shadow: 0 18px 40px rgba(12, 34, 33, 0.12);
}

.parallax-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: ellipse(50% 60% at 50% 50%);
}

.parallax-left {
  left: -32px;
}

.parallax-right {
  right: -32px;
}

.reveal {
  opacity: 0;
  transform: translateY(24px) scale(0.98);
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.7s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.bg-brand {
  background-color: var(--brand);
}

.bg-brand-dark {
  background-color: var(--brand-dark);
}

.bg-accent {
  background-color: var(--accent);
}

.bg-surface-alt {
  background-color: var(--surface-alt);
}

.bg-white {
  background-color: #ffffff;
}

.bg-brand\/20 {
  background-color: rgba(11, 75, 74, 0.2);
}

.bg-brand\/25 {
  background-color: rgba(11, 75, 74, 0.25);
}

.bg-brand\/30 {
  background-color: rgba(11, 75, 74, 0.3);
}

.bg-brand\/40 {
  background-color: rgba(11, 75, 74, 0.4);
}

.bg-accent\/20 {
  background-color: rgba(242, 106, 27, 0.2);
}

.bg-accent\/30 {
  background-color: rgba(242, 106, 27, 0.3);
}

.bg-accent\/35 {
  background-color: rgba(242, 106, 27, 0.35);
}

.bg-white\/10 {
  background-color: rgba(255, 255, 255, 0.1);
}

.bg-white\/70 {
  background-color: rgba(255, 255, 255, 0.7);
}

.bg-white\/80 {
  background-color: rgba(255, 255, 255, 0.8);
}

.bg-white\/90 {
  background-color: rgba(255, 255, 255, 0.9);
}

.bg-white\/95 {
  background-color: rgba(255, 255, 255, 0.95);
}

.text-brand {
  color: var(--brand);
}

.text-accent {
  color: var(--accent);
}

.text-ink {
  color: var(--ink);
}

.text-muted {
  color: var(--muted);
}

.text-white {
  color: #ffffff;
}

.text-white\/50 {
  color: rgba(255, 255, 255, 0.5);
}

.text-white\/60 {
  color: rgba(255, 255, 255, 0.6);
}

.text-white\/70 {
  color: rgba(255, 255, 255, 0.7);
}

.border-line {
  border-color: var(--line);
}

.border-brand {
  border-color: var(--brand);
}

.border-accent {
  border-color: var(--accent);
}

.border-white\/10 {
  border-color: rgba(255, 255, 255, 0.1);
}

.border-white\/20 {
  border-color: rgba(255, 255, 255, 0.2);
}

.hover\:bg-accent\/90:hover {
  background-color: rgba(242, 106, 27, 0.9);
}

.hover\\:bg-surface-alt:hover {
  background-color: var(--surface-alt);
}

.hover\\:border-brand:hover {
  border-color: var(--brand);
}

.hover\\:border-white:hover {
  border-color: #ffffff;
}

.hover\\:text-brand:hover {
  color: var(--brand);
}

.hover\\:text-ink:hover {
  color: var(--ink);
}

.hover\\:text-white:hover {
  color: #ffffff;
}

.hero-image-frame {
  height: 100%;
  width: 100%;
  border-radius: 0 0 32px 32px;
  overflow: hidden;
}

.hero-image {
  height: 100%;
  width: 100%;
  object-fit: contain;
  object-position: center;
}

.h-200 {
  height: 200px;
}

.w-200 {
  width: 200px;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes logo-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

@keyframes logo-fade {
  0%,
  100% {
    opacity: 0.65;
  }
  50% {
    opacity: 1;
  }
}

.is-hidden {
  display: none !important;
}

html,
body {
  overflow-x: hidden;
}

@media (max-width: 640px) {
  .h-200 {
    height: 160px;
  }

  .w-200 {
    width: 160px;
  }

  .px-6 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .py-24 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .py-20 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .py-16 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .foundation-media--tall {
    height: 220px;
  }

  .foundation-media--connectivity {
    height: 220px;
  }

  .foundation-grid {
    gap: 2rem;
  }

  .networking-figure--left {
    height: 340px;
  }

  .networking-card--left .networking-figure--left {
    width: min(300px, 100%);
    height: 380px;
  }

  .networking-figure--right {
    height: 230px;
  }

  .networking-image--rounded,
  .networking-image--circle {
    width: 200px;
    height: 200px;
  }

  .networking-grid {
    gap: 2.5rem;
  }

  .networking-arch {
    width: 140px;
    height: 220px;
    right: -24px;
    top: 36px;
  }

  .networking-orb {
    width: 150px;
    height: 150px;
    left: -20px;
    bottom: -28px;
  }

  .networking-figure--media {
    height: 260px;
  }

  .networking-shape--sunset {
    width: 190px;
    height: 220px;
    border-radius: 40px;
  }

  .networking-shape--overlay {
    width: 120px;
    height: 120px;
  }
}

@media (min-width: 1024px) {
  .foundation-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .networking-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "left righttop"
      "left rightbottom";
    align-items: start;
  }

  .networking-card--left {
    grid-area: left;
  }

  .networking-card--top {
    grid-area: righttop;
    margin-top: 1.5rem;
  }

  .networking-card--bottom {
    grid-area: rightbottom;
    margin-top: 1.5rem;
  }
}
