@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;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: }
*,: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}:root{--background:160 25% 6%;--foreground:45 20% 95%;--card:160 20% 8%;--card-foreground:45 20% 95%;--popover:160 20% 8%;--popover-foreground:45 20% 95%;--primary:158 64% 35%;--primary-foreground:45 20% 98%;--secondary:160 20% 12%;--secondary-foreground:45 20% 90%;--muted:160 15% 15%;--muted-foreground:160 10% 60%;--accent:38 85% 55%;--accent-foreground:160 25% 6%;--destructive:0 62% 50%;--destructive-foreground:45 20% 98%;--border:160 15% 18%;--input:160 15% 15%;--ring:158 64% 35%;--radius:0.5rem;--gradient-hero:linear-gradient(135deg,#0b1311,#152821 50%,#0b1311);--gradient-accent:linear-gradient(135deg,#eea62b,#f5c73d);--gradient-card:linear-gradient(180deg,#141f1b,#101816);--shadow-glow:0 0 40px rgba(32,146,104,.15);--shadow-accent:0 4px 20px rgba(238,166,43,.3);--shadow-card:0 10px 40px rgba(0,0,0,.3);--font-display:"Playfair Display",serif;--font-body:"Inter",sans-serif;--sidebar-background:160 20% 8%;--sidebar-foreground:45 20% 90%;--sidebar-primary:158 64% 35%;--sidebar-primary-foreground:45 20% 98%;--sidebar-accent:160 15% 15%;--sidebar-accent-foreground:45 20% 90%;--sidebar-border:160 15% 18%;--sidebar-ring:158 64% 35%}.dark{--background:160 25% 6%;--foreground:45 20% 95%;--card:160 20% 8%;--card-foreground:45 20% 95%;--popover:160 20% 8%;--popover-foreground:45 20% 95%;--primary:158 64% 35%;--primary-foreground:45 20% 98%;--secondary:160 20% 12%;--secondary-foreground:45 20% 90%;--muted:160 15% 15%;--muted-foreground:160 10% 60%;--accent:38 85% 55%;--accent-foreground:160 25% 6%;--destructive:0 62% 50%;--destructive-foreground:45 20% 98%;--border:160 15% 18%;--input:160 15% 15%;--ring:158 64% 35%}*{border-color:hsl(var(--border))}html{scroll-behavior:smooth}body{background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}.text-gradient{-webkit-background-clip:text;background-clip:text;color:transparent;background-image:var(--gradient-accent)}.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:calc(var(--radius) - 4px);border-width:2px;border-color:hsl(var(--accent));background-color:hsl(var(--accent));padding:1rem 2rem;font-weight:600;color:hsl(var(--accent-foreground));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}.btn-accent:hover{background-color:transparent;color:hsl(var(--accent))}.btn-accent: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-color:hsl(var(--accent));--tw-ring-offset-width:2px;--tw-ring-offset-color:hsl(var(--background))}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:calc(var(--radius) - 4px);border-width:2px;border-color:hsl(var(--foreground)/.2);background-color:transparent;padding:1rem 2rem;font-weight:600;color:hsl(var(--foreground));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}.btn-outline:hover{border-color:hsl(var(--accent));color:hsl(var(--accent))}.btn-outline: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-color:hsl(var(--accent));--tw-ring-offset-width:2px;--tw-ring-offset-color:hsl(var(--background))}.card-elevated{position:relative;overflow:hidden;border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border)/.5);background-image:linear-gradient(to bottom,var(--tw-gradient-stops));--tw-gradient-from:hsl(var(--card)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--card)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:hsl(var(--secondary)/0.3) var(--tw-gradient-to-position);padding:2rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.5s;animation-timing-function:cubic-bezier(0,0,.2,1)}.card-elevated:hover{border-color:hsl(var(--primary)/.3);--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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nav-link{position:relative;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--muted-foreground));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.nav-link:after{position:absolute;bottom:0;left:50%;height:.125rem;width:0;--tw-translate-x:-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));background-color:hsl(var(--accent));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;content:var(--tw-content);animation-duration:.3s}.nav-link:hover{color:hsl(var(--foreground))}.nav-link:hover:after{content:var(--tw-content);width:100%}.section-padding{padding:5rem 1.5rem}@media (min-width:768px){.section-padding{padding-top:8rem;padding-bottom:8rem}}@media (min-width:1024px){.section-padding{padding-left:3rem;padding-right:3rem}}.container-narrow{margin-left:auto;margin-right:auto;max-width:72rem}@keyframes wave-float{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(-5%,5%) rotate(2deg)}50%{transform:translateY(10%) rotate(0deg)}75%{transform:translate(5%,5%) rotate(-2deg)}}.service-number{position:absolute;top:-1rem;left:-1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:Playfair Display,serif;font-size:4.5rem;line-height:1;font-weight:700;color:hsl(var(--primary)/.2)}.fade-in-up{animation:fadeInUp .8s ease-out forwards;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.form-input{width:100%;border-radius:calc(var(--radius) - 4px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--muted));padding:.75rem 1rem;color:hsl(var(--foreground));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.form-input::placeholder{color:hsl(var(--muted-foreground))}.form-input:focus{border-color:hsl(var(--primary));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(1px + 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-color:hsl(var(--primary))}.form-label{margin-bottom:.5rem;display:block;font-weight:500;color:hsl(var(--foreground))}.form-error,.form-label{font-size:.875rem;line-height:1.25rem}.form-error{margin-top:.25rem;color:hsl(var(--destructive))}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-1\/4{bottom:25%}.bottom-12{bottom:3rem}.left-0{left:0}.left-1\/2{left:50%}.left-12{left:3rem}.left-4{left:1rem}.left-\[10\%\]{left:10%}.right-0{right:0}.right-12{right:3rem}.right-\[10\%\]{right:10%}.top-0{top:0}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-16{top:4rem}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.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}.mt-0\.5{margin-top:.125rem}.mt-10{margin-top:2.5rem}.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}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-64{height:16rem}.h-72{height:18rem}.h-8{height:2rem}.h-96{height:24rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-0{width:0}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.min-w-\[280px\]{min-width:280px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{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))}.-translate-y-1\/2{--tw-translate-y:-50%}.-rotate-3{--tw-rotate:-3deg}.-rotate-3,.rotate-1{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))}.rotate-1{--tw-rotate:1deg}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.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}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-t{border-top-width:1px}.border-accent{border-color:hsl(var(--accent))}.border-border\/30{border-color:hsl(var(--border)/.3)}.border-border\/50{border-color:hsl(var(--border)/.5)}.border-primary\/20{border-color:hsl(var(--primary)/.2)}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/10{background-color:hsl(var(--accent)/.1)}.bg-accent\/20{background-color:hsl(var(--accent)/.2)}.bg-accent\/5{background-color:hsl(var(--accent)/.05)}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/5{background-color:hsl(var(--primary)/.05)}.bg-secondary\/20{background-color:hsl(var(--secondary)/.2)}.bg-secondary\/50{background-color:hsl(var(--secondary)/.5)}.bg-transparent{background-color:transparent}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:hsl(var(--accent)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--accent)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-background\/40{--tw-gradient-from:hsl(var(--background)/0.4) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary\/10{--tw-gradient-from:hsl(var(--primary)/0.1) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from:hsl(var(--primary)/0.05) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-background\/20{--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--background)/0.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-border{--tw-gradient-to:hsl(var(--border)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--border)) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-accent\/5{--tw-gradient-to:hsl(var(--accent)/0.05) var(--tw-gradient-to-position)}.to-accent\/50{--tw-gradient-to:hsl(var(--accent)/0.5) var(--tw-gradient-to-position)}.to-background\/90{--tw-gradient-to:hsl(var(--background)/0.9) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.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}.px-8{padding-left:2rem;padding-right:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{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-20{padding-bottom:5rem}.pb-8{padding-bottom:2rem}.pl-12{padding-left:3rem}.pt-24{padding-top:6rem}.pt-32{padding-top:8rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.font-display{font-family:Playfair Display,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.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}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-widest{letter-spacing:.1em}.text-accent{color:hsl(var(--accent))}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.opacity-0{opacity:0}.opacity-5{opacity:.05}.blur-3xl{--tw-blur:blur(64px);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-lg{--tw-backdrop-blur:blur(16px);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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary))}.hover\:rotate-0:hover{--tw-rotate:0deg;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\:border-accent:hover{border-color:hsl(var(--accent))}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted)/.8)}.hover\:text-accent:hover{color:hsl(var(--accent))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.group:hover .group-hover\:w-full{width:100%}@keyframes pulse-glow{0%,to{opacity:.6}50%{opacity:1}}.group:hover .group-hover\:animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite}.group:hover .group-hover\:bg-primary\/20{background-color:hsl(var(--primary)/.2)}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width:768px){.md\:block{display:block}.md\:inline-flex{display:inline-flex}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:p-10{padding:2.5rem}.md\:text-left{text-align:left}.md\:text-right{text-align:right}.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\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-8{gap:2rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:text-left{text-align:left}.lg\:text-7xl{font-size:4.5rem;line-height:1}}
:root{
--abc-navy:#0A1A3B;
--abc-ink:#0B0F19;
--abc-accent:#2E5BFF;
--abc-accent2:#7C3AED;
}
.header, header.site-header, .site-header{
background: rgba(10,26,59,0.62) !important;
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border-bottom: 1px solid rgba(255,255,255,0.08);
}
.brand-logo{border-radius:10px;display:inline-block;vertical-align:middle}
.team-grid{
display:grid;
grid-template-columns: 1fr;
gap: 16px;
margin-top: 18px;
}
.team-card{
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 18px;
padding: 16px;
}
.team-card img{
width: 96px;
height: 96px;
border-radius: 999px;
object-fit: cover;
border: 1px solid rgba(255,255,255,0.14);
}
.team-card h3{margin: 12px 0 4px}
.team-card .muted{opacity: .82}
.note{opacity:.8;margin-top:12px}
@media (min-width: 900px){
.team-grid{grid-template-columns: repeat(3, 1fr);}
.team-card img{width: 110px; height: 110px;}
}
:root{
--abc-accent: 36 100% 50%;
--abc-navy: 223 60% 12%;
}
.dark{
--background: var(--abc-navy);
--foreground: 0 0% 98%;
--card: 223 55% 10%;
--card-foreground: 0 0% 98%;
--popover: 223 55% 10%;
--popover-foreground: 0 0% 98%;
--primary: var(--abc-accent);
--primary-foreground: 223 60% 10%;
--accent: var(--abc-accent);
--accent-foreground: 223 60% 10%;
--ring: var(--abc-accent);
}
#siteHeader{
background: rgba(7,12,22,.55) !important;
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border-bottom: 1px solid rgba(255,255,255,.08);
}
#about article {
min-height: 320px;
}
#about article img {
transition: transform .6s ease;
}
#about article:hover img {
transform: scale(1.03);
}
#about .container-narrow{max-width: 100%;}
#about .container-narrow > .grid{max-width: 100%; padding-left: 1.5rem; padding-right: 1.5rem;}
@media (min-width: 1024px){
#about .container-narrow > .grid{padding-left: 3rem; padding-right: 3rem;}
}
#about article{height: 100%;}
#about article .aspect\[16\/9\]{background: rgba(255,255,255,0.02);}
.brand-logo{
height: 34px;
width: auto;
max-width: 140px;
display: block;
filter: drop-shadow(0 2px 10px rgba(0,0,0,.25));
opacity: .95;
}
@media (min-width: 768px){
.brand-logo{ height: 38px; }
}
.footer-logo{
height: 64px;
width: auto;
max-width: 200px;
display: block;
}
.footer-logo-wrap{
background: transparent;
padding: 0;
border-radius: 0;
display: inline-flex;
align-items: center;
box-shadow: none;
border: none;
}
@media (min-width: 768px){
.footer-logo{ height: 78px; }
}
#siteHeader{
padding-top: 10px !important;
padding-bottom: 10px !important;
}
.team-strip{
margin-top: 22px;
padding: 0 24px;
display: grid;
grid-template-columns: 1fr;
gap: 18px;
width: 100%;
}
.team-item{
position: relative;
overflow: hidden;
border-radius: 22px;
border: 1px solid rgba(255,255,255,.10);
background: rgba(255,255,255,.03);
min-height: 260px;
}
.team-media{
width: 100%;
aspect-ratio: 16 / 9;
background: rgba(255,255,255,.02);
}
.team-media img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transform: scale(1);
transition: transform .6s ease;
}
.team-item:hover .team-media img{ transform: scale(1.04); }
.team-overlay{
position: absolute;
right: 14px;
bottom: 14px;
max-width: min(78%, 420px);
padding: 14px 14px 12px;
border-radius: 18px;
background: rgba(0,0,0,.55);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,.12);
}
.team-role{
margin: 0;
font-size: 12px;
letter-spacing: .08em;
text-transform: uppercase;
color: rgba(255,255,255,.78);
}
.team-name{
margin: 6px 0 4px;
font-size: 22px;
line-height: 1.15;
color: #fff;
}
.team-meta{
margin: 6px 0 0;
font-size: 13px;
color: rgba(255,255,255,.82);
}
@media (min-width: 900px){
.team-strip{
grid-template-columns: repeat(3, 1fr);
gap: 22px;
padding: 0 48px;
}
.team-item{ min-height: 240px; }
}
.team-item{ position: relative; }
.team-caption{
position:absolute;
left:14px;
bottom:14px;
max-width: calc(100% - 64px);
padding: 10px 12px;
border-radius: 16px;
background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.55));
color: rgba(255,255,255,.92);
}
.team-name-inline{margin:0;font-size:16px;line-height:1.2;font-weight:600}
.team-role-inline{margin:6px 0 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.team-plus{
position:absolute;
right:14px;
bottom:14px;
width:44px;
height:44px;
border-radius: 999px;
border: 1px solid rgba(255,255,255,.18);
background: rgba(0,0,0,.45);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
color:#fff;
font-size: 28px;
line-height: 1;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.team-plus:hover{ transform: translateY(-1px); background: rgba(0,0,0,.55); border-color: rgba(255,255,255,.28); }
.team-plus:focus-visible{ outline: 3px solid rgba(255,165,0,.45); outline-offset: 3px; }
.modal{ position: fixed; inset: 0; display:none; z-index: 1000; }
.modal.is-open{ display:block; }
.modal-backdrop{ position:absolute; inset:0; background: rgba(0,0,0,.62); backdrop-filter: blur(2px); }
.modal-dialog{
position: relative;
width: min(860px, calc(100% - 32px));
margin: 7vh auto 0;
border-radius: 24px;
border: 1px solid rgba(255,255,255,.10);
background: rgba(10,16,30,.92);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
box-shadow: 0 30px 90px rgba(0,0,0,.55);
padding: 22px 22px 18px;
}
.modal-close{
position:absolute;
right: 14px;
top: 12px;
width: 40px; height: 40px;
border-radius: 999px;
border: 1px solid rgba(255,255,255,.14);
background: rgba(255,255,255,.06);
color:#fff;
font-size: 22px;
cursor:pointer;
}
.modal-close:hover{ background: rgba(255,255,255,.10); }
.modal-title{ margin:0; font-size: 28px; color:#fff; }
.modal-subtitle{ margin:8px 0 0; font-size: 12px; letter-spacing:.10em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.modal-body{ margin-top: 18px; color: rgba(255,255,255,.84); font-size: 15px; line-height: 1.7; }
.modal-body p{ margin: 0 0 12px; }
@media (max-width: 520px){
.modal-dialog{ margin-top: 5vh; padding: 18px 16px 14px; border-radius: 18px; }
.modal-title{ font-size: 22px; }
}
min-height: 520px;
border-radius: 0;
}
.team-media{
aspect-ratio: auto;
height: 100%;
}
.team-media img{
height: 100%;
width: 100%;
object-fit: cover;
}
.team-caption{
left: 24px;
right: 24px;
bottom: 64px;
background: none;
padding: 0;
}
.team-name-inline{
font-size: 28px;
font-weight: 600;
text-align: center;
width: 100%;
}
.team-plus{
left: 50%;
right: auto;
bottom: 24px;
transform: translateX(-50%);
width: 54px;
height: 54px;
font-size: 34px;
}
@media (max-width: 1024px){
.team-strip{
grid-template-columns: 1fr;
}
.team-item{
height: 60vh;
min-height: 420px;
}
}
.team-strip{
width: 100%;
margin-left: 0;
margin-right: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
border-top: 1px solid rgba(255,255,255,.08);
border-bottom: 1px solid rgba(255,255,255,.08);
}
.team-item{
position: relative;
height: 72vh;
min-height: 520px;
overflow: hidden;
border-right: 1px solid rgba(255,255,255,.08);
border-radius: 0;
background: rgba(255,255,255,.03);
}
.team-item:last-child{ border-right: none; }
.team-media{ height: 100%; width: 100%; background: rgba(0,0,0,.20); }
.team-media img{
width: 100%;
height: 100%;
object-fit: contain;
object-position: center bottom;
display: block;
background: rgba(0,0,0,.25);
}
.team-caption{
position: absolute;
left: 22px;
right: 22px;
bottom: 74px;
text-align: center;
background: none !important;
padding: 0 !important;
}
.team-name-inline{
margin: 0;
font-size: clamp(18px, 2.1vw, 30px);
font-weight: 600;
color: #fff;
text-shadow: 0 10px 30px rgba(0,0,0,.55);
}
.team-plus{
position: absolute;
left: 50%;
right: auto;
bottom: 22px;
transform: translateX(-50%);
width: 56px;
height: 56px;
border-radius: 999px;
border: 1px solid rgba(255,255,255,.32);
background: rgba(0,0,0,.32);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
color:#fff;
font-size: 34px;
line-height: 1;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.team-plus:hover{ transform: translateX(-50%) translateY(-1px); background: rgba(0,0,0,.45); border-color: rgba(255,255,255,.45); }
.team-plus:focus-visible{ outline: 3px solid rgba(255,165,0,.45); outline-offset: 3px; }
@media (max-width: 1024px){
.team-strip{ grid-template-columns: 1fr; }
.team-item{
height: 64vh;
min-height: 420px;
border-right: none;
border-bottom: 1px solid rgba(255,255,255,.08);
}
.team-item:last-child{ border-bottom: none; }
}
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.team-item{
position: relative;
height: clamp(520px, 72vh, 820px);
overflow: hidden;
border: none;
background: none;
}
.team-media{
height: 100%;
width: 100%;
}
.team-media img{
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 20%;
display: block;
filter: saturate(1.02) contrast(1.02);
}
.team-caption{
position: absolute;
left: 24px;
right: 24px;
bottom: 84px;
text-align: center;
background: none !important;
padding: 0 !important;
pointer-events: none;
}
.team-name-inline{
margin: 0;
font-size: clamp(18px, 2.1vw, 30px);
font-weight: 700;
color: #fff;
text-shadow:
-1px -1px 0 rgba(0,0,0,.85),
1px -1px 0 rgba(0,0,0,.85),
-1px  1px 0 rgba(0,0,0,.85),
1px  1px 0 rgba(0,0,0,.85),
0  8px 22px rgba(0,0,0,.55);
}
.team-plus{
position: absolute;
left: 50%;
right: auto;
bottom: 26px;
transform: translateX(-50%);
width: 56px;
height: 56px;
border-radius: 999px;
border: 2px solid rgba(255,255,255,.75);
background: rgba(0,0,0,.22);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
color:#fff;
font-size: 34px;
line-height: 1;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.team-plus:hover{ transform: translateX(-50%) translateY(-1px); background: rgba(0,0,0,.32); border-color: rgba(255,255,255,.95); }
.team-plus:focus-visible{ outline: 3px solid rgba(255,165,0,.45); outline-offset: 3px; }
@media (max-width: 1024px){
.team-strip{ grid-template-columns: 1fr; }
.team-item{ height: clamp(420px, 64vh, 720px); }
}
:root{
--radius-lg: 16px;
--radius-md: 12px;
--radius-sm: 8px;
--shadow-lg: 0 12px 36px rgba(0,0,0,.24);
--shadow-xl: 0 18px 50px rgba(0,0,0,.30);
}
#siteHeader{
padding-top: 8px;
padding-bottom: 8px;
}
.brand-logo{
height: 40px;
max-width: 180px;
margin: 0;
padding: 0;
filter: none;
}
@media (min-width: 768px){
.brand-logo{
height: 48px;
max-width: 210px;
}
}
#desktopNav a,
#desktopNav .nav-link{
white-space: nowrap;
}
#desktopNav{
display:flex;
align-items:center;
gap: 28px;
}
.hero-accent{
position: relative;
display: inline-block;
color: var(--accent, #f59e0b);
}
.hero-accent::after{
content:"";
position:absolute;
left:-2px; right:-2px;
bottom:.08em;
height:.22em;
border-radius:999px;
background: linear-gradient(90deg, rgba(245,158,11,.18), rgba(245,158,11,.55), rgba(245,158,11,.18));
transform: translateY(.1em);
z-index:-1;
}
@keyframes heroSheen{
0%{ opacity:.10; transform: translate3d(0,0,0); }
50%{ opacity:.14; transform: translate3d(10px,-6px,0); }
100%{ opacity:.10; transform: translate3d(0,0,0); }
}
.hero-grid-overlay{
animation: heroSheen 10s ease-in-out infinite;
will-change: transform, opacity;
}
#about .container-narrow{
position: relative;
z-index: 1;
}
#about .container-narrow .grid{
position: relative;
gap: 44px;
padding-top: 8px;
}
#about .container-narrow .grid::before{
content: "";
position: absolute;
top: 6px;
bottom: 6px;
left: 50%;
width: 1px;
transform: translateX(-50%);
background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.18), rgba(255,255,255,0));
}
#about .container-narrow .grid > div{
padding: 0 18px;
}
#about .container-narrow .grid p{
max-width: 36rem;
}
@media (max-width: 900px){
#about h2::after{
margin-left: auto;
margin-right: auto;
}
#about .container-narrow .grid{
gap: 28px;
}
#about .container-narrow .grid::before{
display: none;
}
#about .container-narrow .grid > div{
padding: 0;
}
}
#about .team-strip{
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
width: 100%;
margin: 22px 0 0;
padding: 0;
border-top: none;
border-bottom: none;
}
@media (min-width: 900px){
#about .team-strip{
width: 100%;
margin: 22px 0 0;
padding: 0;
position: static;
left: auto;
transform: none;
}
}
#about .team-item{
position: relative;
border-radius: var(--radius-md);
overflow: hidden;
outline: 1px solid rgba(255,255,255,.10);
box-shadow: var(--shadow-lg);
background: #0b1222;
height: clamp(420px, 64vh, 720px);
transition: transform .25s ease, box-shadow .25s ease;
}
#about .team-item:hover{
transform: translateY(-2px);
box-shadow: var(--shadow-xl);
}
#about .team-media{
position:absolute;
inset:0;
}
#about .team-media img{
width:100%;
height:100%;
object-fit: cover;
object-position: center 20%;
display:block;
transform: scale(1);
transition: transform .65s ease, filter .35s ease;
}
#about .team-item:hover .team-media img{
transform: scale(1.06);
filter: brightness(.94) contrast(1.02);
}
#about .team-item::after{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background: linear-gradient(180deg,
rgba(0,0,0,0) 45%,
rgba(0,0,0,.40) 72%,
rgba(0,0,0,.70) 100%);
z-index: 1;
}
#about .team-caption{
position:absolute;
left:0; right:0;
bottom: 84px;
z-index: 2;
text-align:center;
padding: 0 12px;
}
#about .team-name-inline{
font-size: 22px;
font-weight: 700;
line-height: 1.12;
text-shadow:
-1px -1px 0 rgba(0,0,0,.85),
1px -1px 0 rgba(0,0,0,.85),
-1px  1px 0 rgba(0,0,0,.85),
1px  1px 0 rgba(0,0,0,.85),
0  10px 26px rgba(0,0,0,.55);
}
#about .team-plus{
position:absolute;
left:50%;
bottom: 26px;
transform: translateX(-50%);
z-index: 2;
width: 56px;
height: 56px;
border-radius: 999px;
border: 2px solid rgba(255,255,255,.65);
background: rgba(0,0,0,.22);
backdrop-filter: blur(4px);
display:flex;
align-items:center;
justify-content:center;
padding:0;
line-height:1;
cursor:pointer;
transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
#about .team-plus span{
display:block;
font-size: 34px;
line-height: 1;
transform: translateY(-1px);
}
#about .team-item:hover .team-plus{
transform: translateX(-50%) translateY(-2px) scale(1.04);
}
#about .team-plus:active{
transform: translateX(-50%) scale(.98);
}
@media (max-width: 640px){
#about .team-strip{
width: 100%;
left: auto;
transform: none;
margin: 18px auto 0;
padding: 0 14px;
grid-template-columns: repeat(2, 1fr);
gap: 14px;
}
#about .team-item{
height: clamp(340px, 46vh, 520px);
}
#about .team-item:nth-child(3){
grid-column: 1 / -1;
justify-self: center;
width: calc(50% - 7px);
}
#about .team-caption{ bottom: 66px; }
#about .team-name-inline{ font-size: 18px; }
#about .team-plus{
width: 46px;
height: 46px;
bottom: 16px;
}
#about .team-plus span{ font-size: 28px; transform: translateY(-1px); }
}
.site-footer{
border-top: 1px solid rgba(255,255,255,.08);
background: #ffffff;
overflow:hidden;
}
.site-footer .footer-inner{
padding-top: 32px;
padding-bottom: 18px;
}
.site-footer a{ white-space: normal; }
.footer-legal-links{
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px 20px;
max-width: 100%;
}
@media (min-width: 768px){
.footer-legal-links{
justify-content: flex-end;
}
}
.site-footer .text-muted-foreground{
color: #1f2937;
}
.site-footer .text-foreground{
color: #111827;
}
.site-footer .btn-outline{
border-color: rgba(17,24,39,.35);
color: #111827;
}
.site-footer .btn-outline:hover{
border-color: rgba(224,150,0,.6);
color: #111827;
}
.site-footer a[aria-label="LinkedIn"],
.site-footer a[aria-label="Email"]{
background: #ffffff;
border: 1px solid #2c3a7a;
color: #2c3a7a;
}
.site-footer a[aria-label="LinkedIn"]:hover,
.site-footer a[aria-label="Email"]:hover{
background: #f2f4f7;
border-color: #1a245f;
color: #1a245f;
}
#about .about-intro-card{
border: 1px solid rgba(255,255,255,.2);
border-radius: 16px;
padding: 22px;
background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
#about .about-team-text p{
margin: 0 0 12px;
}
@media (min-width: 900px){
#about .about-intro-card{
padding: 30px 34px;
}
}
.footer-contact a{
white-space: nowrap;
word-break: normal;
overflow-wrap: normal;
}

/*
 * Custom styling for the "Kim Jesteśmy" / "Who We Are" section.
 *
 * The introductory paragraphs should flow without a card frame and
 * be justified for a clean, balanced look. The team photo now appears
 * below the paragraphs instead of to the left. We hide the previous
 * ::before pseudo-element (which inserted the image before the text)
 * and instead insert the image via a ::after pseudo-element so the
 * order is: heading → description → photo → mission & vision.
 */

/* Remove the original framed appearance of the intro card */
#about .about-intro-card {
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Hide the previous ::before pseudo-element used for the photo */
#about .about-intro-card::before {
  content: none !important;
  display: none !important;
}

/* Insert the photo after the paragraphs. It is centered and
   sized relative to the root font for consistency. */
#about .about-intro-card::after {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  margin: 1rem auto 0;
  border-radius: 0.5rem;
  background-image: url('osoba2.jpg');
  background-size: cover;
  background-position: center;
}

@media (max-width: 767px) {
  /* Keep the image centered on small screens */
  #about .about-intro-card::after {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Enhance readability of the introductory paragraphs */
#about .about-team-text p {
  line-height: 1.6;
  margin-bottom: 0.75rem;
  text-align: justify;
}

/*
 * Hide the newsletter subscription block entirely.
 * The newsletter section uses a combination of utility classes (py-16, bg-primary/5, border-y, border-border/30).
 * We target this section via attribute selectors matching those utility classes. This way we avoid changing
 * the HTML structure but still remove the section from display on all screen sizes.
 */
section[class*="bg-primary/5"][class*="py-16"][class*="border-y"] {
  display: none !important;
}
.footer-contact a[href^="mailto:"]{
white-space: nowrap;
word-break: normal;
overflow-wrap: normal;
display: inline-block;
max-width: 100%;
font-size: clamp(0.65rem, 2.3vw, 1rem);
line-height: 1.2;
letter-spacing: -0.01em;
}
.footer-email-row{
align-items: center !important;
}
.footer-email-row > span{
margin-top: 0 !important;
display: flex;
align-items: center;
}
.contact-email{
white-space: nowrap;
overflow-wrap: normal;
word-break: normal;
display: inline-block;
max-width: 100%;
font-size: clamp(0.65rem, 2.3vw, 1rem);
line-height: 1.2;
letter-spacing: -0.01em;
}
@media (max-width: 640px){
.footer-contact a[href^="mailto:"],
.contact-email{
font-size: 0.78rem;
letter-spacing: -0.02em;
}
}
@media (min-width: 1024px){
.footer-contact{
margin-left: -18px;
}
.footer-contact a[href^="mailto:"]{
transform: none;
font-size: 0.95rem;
}
}
@media (min-width: 1024px){
.site-footer .footer-inner .grid{
column-gap: 1.5rem;
}
}
#mobileMenuBtn{
display: inline-flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
border-radius: 10px;
border: 1px solid rgba(255,255,255,.10);
background: rgba(7,12,22,.25);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
#mobileMenuBtn svg{ display:block; }
@media (min-width: 1024px){
#mobileMenuBtn{ display: none; }
}
#mobileMenu{
background: rgba(7,12,22,.78) !important;
backdrop-filter: blur(18px) !important;
-webkit-backdrop-filter: blur(18px) !important;
border-bottom: 1px solid rgba(255,255,255,.10);
box-shadow: 0 22px 70px rgba(0,0,0,.45);
}
#mobileMenu a{
white-space: nowrap;
}
#desktopNav{ display: none !important; }
@media (min-width: 1024px){
#desktopNav{ display: flex !important; }
}
#mobileMenuBtn{
position: relative;
z-index: 60;
color: #ffffff !important;
}
#mobileMenuBtn svg{ stroke: currentColor; }
#siteHeader,
#siteHeader a,
#siteHeader button,
#siteHeader span{
font-weight: 700;
}
#mobileMenu a{
font-weight: 700;
}
.certificates-section{
margin-top: 64px;
}
.certificates-header{
max-width: 640px;
}
.certificates-header h3{
margin-top: 8px;
}
.certificates-card{
    margin-top: 24px;
    display: grid;
    gap: 24px;
    align-items: center;
    /* Remove padding, border and background to create a clean look */
    padding: 0;
    border: none;
    background: transparent;
}
.certificates-media{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: var(--radius-md);
    /* Remove the dark overlay background behind the certificate image */
    background: transparent;
}
.certificates-media img{
    width: 100%;
    /* Increase the maximum width of certificate images for better visibility */
    max-width: 480px;
    height: auto;
    object-fit: contain;
}
.certificates-actions{
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 16px;
}
@media (min-width: 900px){
.certificates-card{
grid-template-columns: 1.1fr 1fr;
}
}
html, body{
overflow-x: hidden;
}
body{
width: 100%;
max-width: none;
}
::-webkit-scrollbar-thumb:hover{
background: hsl(var(--muted));
}
*{
scrollbar-color: hsl(var(--muted)) hsl(var(--background));
}
@font-face{
font-family: "Nexa";
src: url("./Nexa-ExtraLight.ttf") format("truetype");
font-weight: 200;
font-style: normal;
font-display: swap;
}
html, body, button, input, select, textarea{
font-family: "Nexa", sans-serif;
}
h1, h2, h3, h4, h5, h6{
font-family: "Nexa", sans-serif;
}
*, *::before, *::after{
font-family: "Nexa", sans-serif !important;
}
:root,
.dark{
--color-navy: 231 57% 24%;
--color-navy-deep: 231 57% 18%;
--color-gray: 0 0% 72%;
--color-white: 0 0% 100%;
--color-blue: 229 47% 33%;
--color-blue-deep: 229 47% 28%;
--color-light: 216 24% 96%;
--color-ink: 0 0% 11%;
--color-accent: 40 100% 44%;
--background: var(--color-navy-deep);
--foreground: var(--color-light);
--card: var(--color-navy-deep);
--card-foreground: var(--color-light);
--popover: var(--color-navy-deep);
--popover-foreground: var(--color-light);
--primary: var(--color-accent);
--primary-foreground: var(--color-ink);
--secondary: var(--color-navy);
--secondary-foreground: var(--color-light);
--muted: var(--color-navy-deep);
--muted-foreground: var(--color-gray);
--accent: var(--color-accent);
--accent-foreground: var(--color-ink);
--border: var(--color-blue-deep);
--input: var(--color-navy-deep);
--ring: var(--color-accent);
--gradient-hero: linear-gradient(135deg, #141c48, #1a245f 50%, #141c48);
--gradient-accent: linear-gradient(135deg, #e09600, #f2b233);
--gradient-card: linear-gradient(180deg, #1a245f, #141c48);
--shadow-glow: 0 0 24px rgba(224,150,0,.08);
--shadow-accent: 0 6px 18px rgba(224,150,0,.22);
--shadow-card: 0 10px 30px rgba(0,0,0,.28);
--font-body: "Nexa", "Inter", sans-serif;
--font-display: "Nexa", "Playfair Display", serif;
}
#about .team-strip{
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 40px;
max-width: 720px;
margin-left: auto;
margin-right: auto;
}
.team-partners{
grid-column: 1 / -1;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
margin-top: 8px;
}
.team-partners-label{
font-size: 18px;
letter-spacing: .08em;
text-transform: uppercase;
color: rgba(255,255,255,.75);
}
.team-partners .team-item{
width: calc((100% - 40px) / 2);
}
@media (max-width: 900px){
.team-partners .team-item{
width: 100%;
}
}
@media (max-width: 900px){
#about .team-strip{
grid-template-columns: 1fr;
}
}
#about .team-plus{
display: flex;
align-items: center;
justify-content: center;
}
#about .team-plus span{
display: block;
line-height: 1;
transform: translateY(-1px);
}
.team-plus-cta{
display: flex;
justify-content: center;
margin: 18px 0 22px;
}
#about .team-plus-standalone{
position: static;
left: auto;
bottom: auto;
transform: none;
width: 72px;
height: 48px;
border-radius: 14px;
background: #f2b233;
border-color: rgba(0,0,0,.18);
color: #1c1c1c;
box-shadow: 0 10px 20px rgba(0,0,0,.18);
}
#about .team-plus-standalone:hover{
background: var(--color-accent);
}
#about .team-plus-standalone:active{
transform: scale(.98);
}
#about .team-plus-standalone span{
font-size: 30px;
transform: translateY(-1px);
}
#siteHeader{
background: #1c2648 !important;
border-bottom: 1px solid rgba(255,255,255,.10);
}
#mobileMenu{
background: #1c2648 !important;
border-bottom: 1px solid rgba(255,255,255,.12);
}
#mobileMenuBtn{
background: rgba(28,38,72,.42);
border-color: rgba(255,255,255,.18);
}
.hero-accent::after{
background: linear-gradient(90deg, rgba(224,150,0,.18), rgba(224,150,0,.55), rgba(224,150,0,.18));
}
.site-footer{
border-top: 1px solid rgba(255,255,255,.10);
background: #ffffff;
color: #1c1c1c;
}
.modal-dialog{
background: rgba(20,28,72,.92);
border: 1px solid rgba(255,255,255,.12);
}
#about .team-item{
background: #141c48;
outline-color: rgba(255,255,255,.12);
}
#about .team-item::after{
background: linear-gradient(180deg,
rgba(28,28,28,0) 45%,
rgba(28,28,28,.45) 72%,
rgba(28,28,28,.8) 100%);
}
:focus-visible{outline:3px solid hsl(var(--accent));outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;z-index:9999;background:hsl(var(--background));color:hsl(var(--foreground));padding:.75rem 1rem;border-radius:calc(var(--radius) - 4px);border:2px solid hsl(var(--accent))}
/*
 * Emphasise the default outline button inside the certificates actions.  On
 * light backgrounds the subtle border defined for `.btn-outline` is barely
 * visible.  By explicitly setting its border colour to the accent colour
 * within the certificates context, the “Pobierz PL” button gains a clear
 * frame without changing its hover styles or other outline buttons on the
 * site.
 */
.certificates-actions .btn-outline{border-color:hsl(var(--accent));}

@media (max-width: 767px){
  #certificates{
    padding-bottom: 4.5rem;
  }

  #hero-services-wrapper section:first-of-type h1{
    font-size: 2.35rem;
    line-height: 1.12;
    margin-bottom: 1.25rem;
  }

  #hero-services-wrapper section:first-of-type p[data-i18n="hero.subtitle"]{
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 1.75rem;
  }

  #hero-services-wrapper section:first-of-type .fade-in-up.stagger-4{
    gap: 0.75rem;
  }

  #hero-services-wrapper section:first-of-type .btn-accent,
  #hero-services-wrapper section:first-of-type .btn-outline{
    font-size: 0.95rem;
    padding: 0.75rem 1.25rem;
  }
}

.contact-submit-meta{
  flex: 1 1 auto;
  min-width: 0;
}

.contact-privacy-note{
  margin: 0;
  font-size: 0.62rem;
  line-height: 1.25;
  color: hsl(var(--muted-foreground));
  opacity: 0.9;
  max-width: 48ch;
}

.privacy-inline-link{
  color: hsl(var(--accent));
  text-decoration: underline;
  text-underline-offset: 2px;
}

.privacy-inline-link:hover{
  color: hsl(var(--foreground));
}

#contactStatus{
  margin-top: 0.35rem;
}

@media (max-width: 640px){
  #contact .contact-email{
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 0.72rem;
    line-height: 1.25;
  }

  #contact .contact-info-list a.contact-email{
    font-size: 0.72rem;
    line-height: 1.25;
  }

  #contact.section-padding{
    padding: 3.25rem 1rem;
  }

  #contact .bg-card{
    padding: 1rem;
    border-radius: 0.7rem;
  }

  #contact .form-label{
    font-size: 0.78rem;
    margin-bottom: 0.35rem;
  }

  #contact .form-input{
    padding: 0.62rem 0.75rem;
    font-size: 0.9rem;
  }

  #contact textarea.form-input{
    min-height: 7rem;
  }

  #contact #contactSubmit{
    font-size: 0.86rem;
    padding: 0.62rem 1rem;
  }

  #contact .contact-privacy-note{
    font-size: 0.56rem;
  }

  #contact .mt-8.flex{
    margin-top: 1rem;
    gap: 0.6rem;
  }

  .contact-privacy-note{
    max-width: 100%;
  }
}

@media (max-width: 767px){
  #contact.section-padding{
    padding: 2.75rem 0.9rem;
  }

  #contact .contact-section-grid{
    gap: 1.35rem;
  }

  #contact h2[data-i18n="contact.title"]{
    font-size: 1.95rem;
    line-height: 1.1;
    margin-bottom: 0.7rem;
  }

  #contact p[data-i18n="contact.subtitle"]{
    font-size: 0.95rem;
    line-height: 1.45;
    margin-bottom: 1.1rem;
  }

  #contact .contact-info-list > div{
    gap: 0.65rem;
  }

  #contact .contact-info-list .w-12.h-12{
    width: 2.35rem;
    height: 2.35rem;
  }

  #contact .contact-info-list h4{
    font-size: 0.92rem;
    margin-bottom: 0.2rem;
  }

  #contact .contact-info-list p,
  #contact .contact-info-list a{
    font-size: 0.84rem;
    line-height: 1.3;
  }

  #contact .contact-linkedin-card{
    margin-top: 0.9rem;
    padding: 0.85rem;
  }

  #contact .contact-linkedin-card p{
    font-size: 0.78rem;
    margin-bottom: 0.35rem;
  }

  #contact .contact-linkedin-card a{
    font-size: 0.78rem;
    line-height: 1.3;
  }

  #contact .bg-card{
    padding: 0.95rem;
  }

  #contact form .grid{
    gap: 0.55rem;
  }
}
