*,: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.17 | 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}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-20{top:5rem}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.max-h-\[90vh\]{max-height:90vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.flex-shrink-0{flex-shrink:0}.translate-x-full{--tw-translate-x:100%}.transform,.translate-x-full{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))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.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-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-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-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))}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.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-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.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-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-cyan-600{--tw-gradient-to:#0891b2 var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.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-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-2{padding-top:.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.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-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}.lowercase{text-transform:lowercase}.leading-relaxed{line-height:1.625}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.outline{outline-style:solid}.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-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-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}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:opacity-90:hover{opacity:.9}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:absolute:focus{position:absolute}.focus\:left-2:focus{left:.5rem}.focus\:top-2:focus{top:.5rem}.focus\:z-\[1000\]:focus{z-index:1000}.focus\:rounded:focus{border-radius:.25rem}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:bg-blue-600:focus{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-12{padding:3rem}.md\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}
/* Prva Lekcija — core animations & utilities (extracted from inline header.php) */

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes slideInRight {
    from { opacity: 0; transform: translateX(30px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.9); }
    to   { opacity: 1; transform: scale(1); }
}
@keyframes bounceIn {
    0%   { opacity: 0; transform: scale(0.3); }
    50%  { opacity: 1; transform: scale(1.05); }
    70%  { transform: scale(0.9); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes pl-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.5; }
}
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-20px); }
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-20px); max-height: 0; }
    to   { opacity: 1; transform: translateY(0); max-height: 500px; }
}
@keyframes slideUp {
    from { opacity: 1; transform: translateY(0); max-height: 500px; }
    to   { opacity: 0; transform: translateY(-20px); max-height: 0; }
}
@keyframes dots {
    0%, 20%   { content: ''; }
    40%       { content: '.'; }
    60%       { content: '..'; }
    80%, 100% { content: '...'; }
}

.animate-fadeInUp     { animation: fadeInUp 0.6s ease-out; }
.animate-slideInRight { animation: slideInRight 0.5s ease-out; }
.animate-scaleIn      { animation: scaleIn 0.4s ease-out; }
.animate-bounceIn     { animation: bounceIn 0.8s ease-out; }
.animate-pulse        { animation: pl-pulse 2s infinite; }
.animate-float        { animation: float 3s ease-in-out infinite; }
.mobile-menu-slide-down { animation: slideDown 0.3s ease-out forwards; }
.mobile-menu-slide-up   { animation: slideUp 0.3s ease-out forwards; }

.hover-lift  { transition: all 0.3s ease; }
.hover-lift:hover  { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); }
.hover-glow  { transition: all 0.3s ease; }
.hover-glow:hover  { box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); }
.hover-scale { transition: all 0.3s ease; }
.hover-scale:hover { transform: scale(1.05); }

.gradient-bg        { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.gradient-bg-blue   { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.gradient-bg-green  { background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%); }
.gradient-bg-purple { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }

.loading-dots { display: inline-block; }
.loading-dots::after { content: ''; animation: dots 1.5s steps(5, end) infinite; }

.parallax {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 1;
}
.parallax .absolute { position: absolute; z-index: 0; }
.parallax .relative { position: relative; z-index: 10; }

.text-gradient {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-shadow { text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); }

.btn-modern { position: relative; overflow: hidden; transition: all 0.3s ease; }
.btn-modern::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}
.btn-modern:hover::before { left: 100%; }

.card-hover { transition: all 0.3s ease; position: relative; }
.card-hover::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(147, 51, 234, 0.1) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: inherit;
}
.card-hover:hover::before { opacity: 1; }

.scroll-reveal { opacity: 0; transform: translateY(30px); transition: all 0.6s ease; }
.scroll-reveal.revealed { opacity: 1; transform: translateY(0); }

section { position: relative; z-index: 1; }
section:nth-child(2) { z-index: 2; }
section:nth-child(3) { z-index: 3; }
section:nth-child(4) { z-index: 4; }

html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 80px; }

a, button { transition: transform 0.15s ease; }
a:active, button:active { transform: scale(0.98); }

/* Responsive emergency */
html, body { overflow-x: hidden; max-width: 100vw; }
img, video, iframe, picture, svg, embed, object { max-width: 100%; height: auto; }
table { max-width: 100%; }

/* Visible focus indicators (WCAG 2.2) */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
    outline: 2px solid #667eea;
    outline-offset: 2px;
}

/* Reduced motion respect (vestibular safety) */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .animate-float, .animate-pulse { animation: none !important; }
}


/* Accessibility — visually hidden but exposed to screen readers (WCAG 2.2 sr-only standard) */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.sr-only:focus,
.sr-only:focus-visible {
    position: static !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    overflow: visible !important;
    white-space: normal !important;
}
/* Hero Section Styles */
.hero-section {
    position: relative;
    min-height: 100vh;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.1"/><circle cx="10" cy="60" r="0.5" fill="white" opacity="0.1"/><circle cx="90" cy="40" r="0.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
    z-index: 1;
}

.animated-shape {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    animation: float 6s ease-in-out infinite;
    z-index: 2;
}

.animated-shape:nth-child(1) {
    width: 80px;
    height: 80px;
    top: 20%;
    left: 10%;
    animation-delay: 0s;
}

.animated-shape:nth-child(2) {
    width: 120px;
    height: 120px;
    top: 60%;
    right: 15%;
    animation-delay: 2s;
}

.animated-shape:nth-child(3) {
    width: 60px;
    height: 60px;
    bottom: 20%;
    left: 20%;
    animation-delay: 4s;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-20px) rotate(180deg);
    }
}

.gradient-text-secondary {
    background: linear-gradient(45deg, #fbbf24, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.fade-in {
    animation: fadeIn 1s ease-out;
}

.slide-in-left {
    animation: slideInLeft 1s ease-out 0.3s both;
}

.slide-in-right {
    animation: slideInRight 1s ease-out 0.6s both;
}

/* Fast hero animations */
.hero-title {
    will-change: transform, opacity;
}

.hero-subtitle {
    will-change: transform, opacity;
}

.hero-buttons {
    will-change: transform, opacity;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.btn-modern {
    display: inline-flex;
    align-items: center;
    padding: 0.75rem 2rem;
    border-radius: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.btn-modern::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.btn-modern:hover::before {
    left: 100%;
}

.btn-secondary {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: white;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.6);
}

.btn-accent {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.4);
}

.btn-accent:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.6);
}

@media (max-width: 768px) {
    .hero-section {
        padding: 2rem 0;
        min-height: 80vh;
    }
    
    .animated-shape {
        display: none;
    }
}
/* Services Section Styles */
.services-section {
    padding: 5rem 0;
    background: #f8fafc;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.service-card {
    background: white;
    border-radius: 1.5rem;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #06b6d4);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.service-card:hover::before {
    transform: scaleX(1);
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.service-btn {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: white;
    padding: 0.875rem 2rem;
    border-radius: 0.75rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.service-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.6);
}

@media (max-width: 768px) {
    .services-section {
        padding: 3rem 0;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .service-card {
        padding: 2rem;
    }
}
/* Statistics Section Styles */
.stats-section {
    padding: 5rem 0;
    background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
    position: relative;
    overflow: hidden;
}

.stats-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="dots" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23dots)"/></svg>');
    opacity: 0.3;
    z-index: 1;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
    position: relative;
    z-index: 2;
}

.stat-item {
    text-align: center;
    padding: 2rem;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.stat-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #fbbf24, #f59e0b);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.stat-item:hover::before {
    transform: scaleX(1);
}

.stat-item:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.stat-number {
    font-size: 3rem;
    font-weight: 800;
    color: #fbbf24;
    margin-bottom: 0.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.stat-label {
    color: #d1d5db;
    font-size: 1rem;
    font-weight: 500;
    transition: color 0.3s ease;
}

.stat-item:hover .stat-label {
    color: #fbbf24;
}

/* Responsive design */
@media (max-width: 768px) {
    .stats-section {
        padding: 3rem 0;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    .stat-item {
        padding: 1.5rem;
    }
    
    .stat-number {
        font-size: 2.5rem;
    }
}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .stat-item {
        padding: 1rem;
    }
    
    .stat-number {
        font-size: 2rem;
    }
}
/* dt ide pre dd zbog ispravnog HTML-a, broj ostaje vizuelno iznad */
.stat-item {
    display: flex;
    flex-direction: column;
}

.stat-number {
    order: -1;
}
/* Contact Section Styles */
.contact-section {
    padding: 5rem 0;
    background: white;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-top: 3rem;
    align-items: start;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 2rem;
    background: white;
    border-radius: 1.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.contact-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #06b6d4);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.contact-item:hover::before {
    transform: scaleX(1);
}

.contact-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.contact-icon {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
    font-size: 1.5rem;
    color: white;
}

.contact-item:nth-child(1) .contact-icon {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.contact-item:nth-child(2) .contact-icon {
    background: linear-gradient(135deg, #10b981, #059669);
}

.contact-item:nth-child(3) .contact-icon {
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.contact-item:hover .contact-icon {
    transform: scale(1.1) rotate(5deg);
}

.contact-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.5rem;
}

.contact-text {
    color: #6b7280;
    font-size: 1rem;
    transition: color 0.3s ease;
}

.contact-item:hover .contact-text {
    color: #3b82f6;
}

.contact-form-card {
    background: white;
    border-radius: 1.5rem;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.contact-form-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #06b6d4);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.contact-form-card:hover::before {
    transform: scaleX(1);
}

.contact-form-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-group {
    position: relative;
}

.form-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-input {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 2px solid #e5e7eb;
    border-radius: 0.75rem;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: white;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.form-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    transform: translateY(-1px);
}

.form-input::placeholder {
    color: #9ca3af;
}

textarea.form-input {
    resize: vertical;
    min-height: 120px;
}

.contact-btn {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: white;
    padding: 0.875rem 2rem;
    border-radius: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.contact-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.contact-btn:hover::before {
    left: 100%;
}

.contact-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.6);
}

/* Responsive design */
@media (max-width: 768px) {
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .contact-section {
        padding: 3rem 0;
    }
    
    .contact-form-card {
        padding: 2rem;
    }
    
    .contact-item {
        padding: 1.5rem;
    }
    
    .contact-icon {
        width: 3rem;
        height: 3rem;
        font-size: 1.25rem;
    }
}

@media (max-width: 480px) {
    .contact-form-card {
        padding: 1.5rem;
    }
    
    .contact-item {
        padding: 1rem;
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }
    
    .contact-title {
        font-size: 1.125rem;
    }
    
    .contact-text {
        font-size: 0.875rem;
    }
}

/* obrazac preko /forme (greške uz polja, sažetak, potvrda) */
.contact-form .forme-greska { margin: .35rem 0 0; font-size: .85rem; font-weight: 600; color: #b42318; }
.contact-form [aria-invalid="true"] { border-color: #b42318; }
.contact-form .contact-status:empty { display: none; }
.contact-form .forme-status--greska { color: #b42318; }
.contact-form.forme-salje .contact-btn { opacity: .7; cursor: progress; }
.contact-form .forme-rezime { margin: 0 0 1rem; padding: .8rem 1rem; border-left: 3px solid #b42318; border-radius: 8px; background: #fdf2f2; font-size: .92rem; }
.contact-form .forme-rezime p { margin: 0 0 .3rem; font-weight: 700; }
.contact-form .forme-rezime ul { margin: 0; padding-left: 1.1rem; }
.contact-form .forme-rezime a { color: inherit; }
.contact-hvala { padding: 1.4rem 1.5rem; border-radius: 14px; background: #eef0fd; border: 1px solid #c7ccf6; }
.contact-hvala h3 { margin: 0 0 .4rem; font-size: 1.25rem; }
.contact-hvala h3:focus { outline: none; }
.contact-hvala p { margin: 0; }
form[hidden] { display: none !important; }
:root {
    --pl-ink: #0b1533;
    --pl-ink-soft: #152348;
    --pl-paper: #ffffff;
    --pl-canvas: #f2f5fa;
    --pl-blue: #2857e8;
    --pl-blue-dark: #1739a7;
    --pl-coral: #f05a42;
    --pl-yellow: #f5c84c;
    --pl-mint: #198f78;
    --pl-text: #17213a;
    --pl-muted: #526079;
    --pl-line: #d7deeb;
    --pl-line-strong: #aab6cc;
    --pl-shadow: 0 20px 60px rgba(11, 21, 51, .12);
    --pl-radius: 20px;
    --pl-width: 1180px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-padding-top: 5.25rem;
}

body {
    margin: 0;
    background: var(--pl-canvas) !important;
    color: var(--pl-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

main {
    display: block;
}

h1,
h2,
h3 {
    color: var(--pl-text);
    letter-spacing: -.035em;
    text-wrap: balance;
}

p,
li {
    text-wrap: pretty;
}

a,
button,
input,
textarea,
select {
    touch-action: manipulation;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

::selection {
    background: var(--pl-yellow);
    color: var(--pl-ink);
}

:where(a, button, input, textarea, select):focus-visible {
    outline: 3px solid var(--pl-coral) !important;
    outline-offset: 3px !important;
}

.hidden {
    display: none !important;
}

.scroll-reveal,
.scroll-reveal.revealed {
    opacity: 1 !important;
    transform: none !important;
}

.text-gradient,
.gradient-text-secondary {
    background: none !important;
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

.site-nav {
    position: fixed;
    inset: 0 0 auto;
    z-index: 80;
    border-color: rgba(11, 21, 51, .12) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 8px 30px rgba(11, 21, 51, .07);
    backdrop-filter: blur(16px);
}

.site-nav__bar {
    width: min(100%, calc(var(--pl-width) + 3rem));
    min-height: 4.5rem;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.site-nav-spacer {
    height: 4.5rem !important;
}

.site-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: .72rem;
    color: var(--pl-ink);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -.025em;
    text-decoration: none;
}

.site-brand__mark {
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--pl-blue);
    border-radius: 12px 12px 4px 12px;
    transform: rotate(-2deg);
}

.site-brand__mark svg {
    width: 1.8rem;
    height: 1.8rem;
}

.site-nav__desktop,
.site-nav__account {
    align-items: center;
    gap: 1.55rem;
}

.site-nav__account {
    display: flex;
}

.site-nav__link {
    position: relative;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    color: #39445b;
    font-size: .94rem;
    font-weight: 650;
    text-decoration: none;
}

.site-nav__link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: .28rem;
    left: 0;
    height: 2px;
    background: var(--pl-coral);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .22s cubic-bezier(.22, 1, .36, 1);
}

.site-nav__link:hover,
.site-nav__link[aria-current="page"] {
    color: var(--pl-blue-dark);
}

.site-nav__link:hover::after,
.site-nav__link[aria-current="page"]::after {
    transform: scaleX(1);
    transform-origin: left;
}

.site-nav__login,
.site-nav__logout {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .65rem 1.05rem;
    border: 1px solid var(--pl-ink);
    border-radius: 12px 12px 4px 12px;
    background: var(--pl-ink);
    color: #fff;
    font-size: .92rem;
    font-weight: 750;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.site-nav__login:hover,
.site-nav__logout:hover {
    background: var(--pl-blue);
    border-color: var(--pl-blue);
    transform: translateY(-1px);
}

.site-nav__toggle {
    width: 2.85rem;
    height: 2.85rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--pl-line);
    border-radius: 12px 12px 4px 12px;
    background: #fff;
    color: var(--pl-ink);
}

.site-nav__toggle-lines {
    width: 1.15rem;
    display: grid;
    gap: 4px;
}

.site-nav__toggle-lines span {
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
}

.site-nav__toggle.is-open .site-nav__toggle-lines span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.site-nav__toggle.is-open .site-nav__toggle-lines span:nth-child(2) {
    opacity: 0;
}

.site-nav__toggle.is-open .site-nav__toggle-lines span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.site-nav__mobile {
    border-top: 1px solid var(--pl-line);
    background: #fff;
    box-shadow: 0 24px 40px rgba(11, 21, 51, .14);
}

.site-nav__mobile-inner {
    width: min(100%, var(--pl-width));
    max-height: calc(100dvh - 4.5rem);
    margin: 0 auto;
    padding: .65rem 1rem calc(1rem + env(safe-area-inset-bottom));
    display: grid;
    gap: .2rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.site-nav__mobile-link,
.site-nav__mobile-login,
.site-nav__mobile-logout {
    width: 100%;
    min-height: 3rem;
    display: flex;
    align-items: center;
    padding: .72rem .85rem;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--pl-text);
    font-size: 1rem;
    font-weight: 680;
    text-align: left;
    text-decoration: none;
}

.site-nav__mobile-link:hover,
.site-nav__mobile-link[aria-current="page"] {
    background: #edf1ff;
    color: var(--pl-blue-dark);
}

.site-nav__mobile-account {
    margin-top: .55rem;
    padding-top: .75rem;
    border-top: 1px solid var(--pl-line);
}

.site-nav__mobile-login,
.site-nav__mobile-logout {
    justify-content: center;
    background: var(--pl-ink);
    color: #fff;
}

.hero-section {
    min-height: auto !important;
    padding: clamp(4.5rem, 9vw, 7.5rem) 1rem clamp(5rem, 10vw, 8.5rem) !important;
    display: block !important;
    position: relative;
    overflow: clip;
    background: var(--pl-ink) !important;
    isolation: isolate;
}

.hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 34px 34px;
    opacity: 1 !important;
}

.hero-section::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    z-index: -1;
    height: clamp(18px, 3vw, 42px);
    background: var(--pl-canvas);
    clip-path: polygon(0 78%, 100% 0, 100% 100%, 0 100%);
}

.hero-shell {
    width: min(100%, var(--pl-width));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
    align-items: center;
    gap: clamp(2.25rem, 7vw, 6rem);
}

.hero-copy {
    max-width: 43rem;
}

.hero-kicker {
    width: fit-content;
    margin: 0 0 1.25rem;
    padding: .42rem .7rem;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 8px 8px 3px 8px;
    color: #dfe6ff;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .025em;
}

.hero-section h1 {
    max-width: 13ch;
    margin: 0;
    color: #fff;
    font-size: clamp(2.65rem, 5.8vw, 5.35rem) !important;
    font-weight: 850;
    line-height: .98;
    letter-spacing: -.045em;
}

.hero-section h1 em {
    display: block;
    color: var(--pl-yellow);
    font-style: normal;
}

.hero-lead {
    max-width: 42rem;
    margin: 1.6rem 0 0;
    color: #dbe3f7 !important;
    font-size: clamp(1.05rem, 1.7vw, 1.28rem) !important;
    font-weight: 480 !important;
    line-height: 1.62;
    text-shadow: none !important;
}

.hero-actions {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.pl-button,
.service-btn,
.type-btn,
.download-btn,
.purchase-btn,
.contact-btn,
.login-btn,
.register-btn,
.join-btn {
    min-height: 3.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .62rem;
    padding: .82rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 13px 13px 4px 13px !important;
    font-weight: 760;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease !important;
}

.pl-button--primary,
.service-btn,
.download-btn,
.purchase-btn,
.contact-btn,
.login-btn,
.register-btn,
.join-btn {
    background: var(--pl-blue) !important;
    color: #fff !important;
    box-shadow: 0 10px 26px rgba(40, 87, 232, .25) !important;
}

.pl-button--secondary {
    border-color: rgba(255, 255, 255, .42);
    background: rgba(255, 255, 255, .06);
    color: #fff;
}

.pl-button--outline {
    border-color: var(--pl-line-strong);
    background: #fff;
    color: var(--pl-blue-dark);
}

.pl-button:hover,
.service-btn:hover,
.type-btn:hover,
.download-btn:hover,
.purchase-btn:hover,
.contact-btn:hover,
.login-btn:hover,
.register-btn:hover,
.join-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(11, 21, 51, .22) !important;
}

.hero-tags {
    margin: 1.45rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    list-style: none;
}

.hero-tags li {
    padding: .42rem .68rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #bdc9e7;
    font-size: .8rem;
    font-weight: 650;
}

.hero-visual {
    position: relative;
    min-height: 28rem;
    display: grid;
    place-items: center;
}

.hero-visual::before,
.hero-visual::after {
    content: "";
    position: absolute;
    border-radius: 18px 18px 6px 18px;
}

.hero-visual::before {
    width: 78%;
    height: 84%;
    background: var(--pl-coral);
    transform: rotate(6deg) translate(8%, 2%);
}

.hero-visual::after {
    width: 74%;
    height: 80%;
    border: 2px solid rgba(255, 255, 255, .34);
    transform: rotate(-7deg) translate(-9%, 3%);
}

.study-sheet {
    width: min(100%, 23rem);
    min-height: 27rem;
    position: relative;
    z-index: 2;
    padding: 1.45rem 1.35rem 1.35rem 2.35rem;
    border-radius: 14px 14px 4px 14px;
    background:
        linear-gradient(90deg, transparent 1.35rem, rgba(240, 90, 66, .42) 1.35rem, rgba(240, 90, 66, .42) calc(1.35rem + 1px), transparent calc(1.35rem + 1px)),
        repeating-linear-gradient(#fff 0, #fff 31px, #dce4f1 32px);
    box-shadow: 0 32px 80px rgba(0, 0, 0, .34);
    color: var(--pl-ink);
    transform: rotate(-1.4deg);
}

.study-sheet__top {
    min-height: 2rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: var(--pl-muted);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.study-sheet__title {
    max-width: 12ch;
    margin: 1rem 0 1.35rem;
    font-size: 2.1rem;
    font-weight: 850;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.study-sheet__list {
    margin: 0;
    padding: 0;
    display: grid;
    gap: .75rem;
    list-style: none;
}

.study-sheet__list li {
    min-height: 2.2rem;
    display: grid;
    grid-template-columns: 1.5rem 1fr;
    align-items: start;
    gap: .55rem;
    color: #28334d;
    font-size: .92rem;
    font-weight: 650;
    line-height: 1.45;
}

.study-sheet__check {
    width: 1.35rem;
    height: 1.35rem;
    display: grid;
    place-items: center;
    border: 1.5px solid var(--pl-blue);
    color: var(--pl-blue-dark);
    font-size: .75rem;
    transform: rotate(-4deg);
}

.study-sheet__note {
    width: fit-content;
    margin: 1.5rem 0 0 auto;
    padding: .45rem .65rem;
    border: 2px solid var(--pl-coral);
    color: #b93425;
    font-size: .76rem;
    font-weight: 800;
    transform: rotate(-2deg);
}

.section-shell,
section > .container {
    width: min(100%, var(--pl-width));
    margin-right: auto !important;
    margin-left: auto !important;
}

.section-heading {
    max-width: 48rem;
    margin: 0 0 clamp(2.2rem, 5vw, 4rem);
}

.section-heading--center {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.section-heading h2,
.services-section h2,
.stats-section h2,
.contact-section h2,
.free-sample-section h2,
.purchase-section h2,
.types-section h2,
.schedule-section h2,
.subjects-section h2 {
    margin: 0 0 .9rem !important;
    color: var(--pl-text) !important;
    font-size: clamp(2.15rem, 4.5vw, 4.1rem) !important;
    font-weight: 850 !important;
    line-height: 1.02;
}

.section-heading p,
.services-section > .container > .text-center > p,
.contact-section > .container > .text-center > p,
.free-sample-section > .container > .text-center > p,
.purchase-section > .container > .text-center > p,
.types-section > .container > .text-center > p,
.schedule-section > .container > .text-center > p,
.subjects-section > .container > .text-center > p {
    max-width: 42rem;
    margin: 0;
    color: var(--pl-muted) !important;
    font-size: clamp(1.02rem, 1.7vw, 1.22rem) !important;
    line-height: 1.65;
}

.section-heading--center p,
section > .container > .text-center > p {
    margin-right: auto !important;
    margin-left: auto !important;
}

.section-heading .section-eyebrow {
    margin: 0 0 .8rem !important;
    color: #b43b2c !important;
    font-size: .78rem !important;
    font-weight: 820 !important;
    letter-spacing: .1em;
    line-height: 1.25;
    text-transform: uppercase;
}

.section-heading .section-eyebrow--light {
    color: var(--pl-yellow) !important;
}

.services-section,
.free-sample-section,
.types-section,
.schedule-section,
.subjects-section,
.login-section,
.register-section {
    padding: clamp(4.5rem, 8vw, 7rem) 1rem !important;
    background: var(--pl-canvas) !important;
}

.services-section > .container > .text-center,
.free-sample-section > .container > .text-center,
.purchase-section > .container > .text-center,
.types-section > .container > .text-center,
.schedule-section > .container > .text-center,
.subjects-section > .container > .text-center,
.contact-section > .container > .text-center {
    max-width: 48rem;
    margin: 0 0 clamp(2.4rem, 5vw, 4rem) !important;
    text-align: left !important;
}

.services-grid {
    margin-top: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 1.15rem !important;
}

.service-card {
    min-height: 15rem;
    grid-column: span 6;
    display: grid;
    grid-template-columns: 5.1rem minmax(0, 1fr);
    align-items: start;
    gap: 1.35rem;
    padding: clamp(1.5rem, 3vw, 2.35rem) !important;
    border: 1px solid var(--pl-line) !important;
    border-radius: var(--pl-radius) var(--pl-radius) 7px var(--pl-radius) !important;
    background: var(--pl-paper) !important;
    box-shadow: 0 12px 36px rgba(11, 21, 51, .08) !important;
    color: var(--pl-text);
    text-decoration: none;
    overflow: hidden;
    transition: transform .24s cubic-bezier(.22, 1, .36, 1), box-shadow .24s ease, border-color .24s ease !important;
}

.service-card:first-child {
    min-height: 20.5rem;
    grid-row: span 2;
    background: var(--pl-blue) !important;
    color: #fff;
}

.service-card:last-child {
    grid-column: span 12;
}

.service-card::before {
    display: none !important;
}

.service-card:hover {
    border-color: var(--pl-line-strong) !important;
    box-shadow: var(--pl-shadow) !important;
    transform: translateY(-4px) !important;
}

.service-card__signal {
    width: 5rem;
    min-height: 3.15rem;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 12px 12px 4px 12px;
    color: var(--pl-blue);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .04em;
}

.service-card:first-child .service-card__signal {
    color: #fff1b8;
}

.service-card__copy {
    min-width: 0;
}

.service-card h3 {
    margin: .1rem 0 .75rem !important;
    color: inherit !important;
    font-size: clamp(1.55rem, 2.6vw, 2.45rem) !important;
    font-weight: 820 !important;
    line-height: 1.05;
}

.service-card p {
    max-width: 34rem;
    margin: 0 0 1.35rem !important;
    color: var(--pl-muted) !important;
    font-size: 1rem;
    line-height: 1.6;
}

.service-card:first-child p {
    color: #dce4ff !important;
}

.service-card__link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--pl-blue-dark);
    font-weight: 780;
}

.service-card:first-child .service-card__link {
    color: #fff1b8;
}

.stats-section {
    padding: clamp(4.5rem, 8vw, 7rem) 1rem !important;
    background: var(--pl-ink) !important;
    overflow: clip;
}

.stats-section::before {
    inset: 0 !important;
    z-index: 0 !important;
    background: radial-gradient(circle at 84% 18%, rgba(240, 90, 66, .18), transparent 32%) !important;
    opacity: 1 !important;
}

.stats-section .container {
    position: relative;
    z-index: 1;
}

.stats-section .section-heading h2,
.stats-section h2 {
    color: #fff !important;
}

.stats-section .section-heading p,
.stats-section > .container > .text-center > p {
    color: #c6d1ec !important;
}

.stats-grid {
    margin-top: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.stat-item {
    min-width: 0;
    padding: clamp(1.4rem, 3vw, 2.3rem) !important;
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
    overflow: visible !important;
}

.stat-item:last-child {
    border-right: 0 !important;
}

.stat-item::before {
    display: none !important;
}

.stat-item:hover {
    background: rgba(255, 255, 255, .045) !important;
    box-shadow: none !important;
    transform: none !important;
}

.stat-number {
    margin: 0 0 .55rem !important;
    color: var(--pl-yellow) !important;
    font-size: clamp(2.25rem, 4vw, 3.75rem) !important;
    font-weight: 850 !important;
    line-height: 1;
    text-shadow: none !important;
    font-variant-numeric: tabular-nums;
}

.stat-label,
.stat-item:hover .stat-label {
    margin: 0;
    color: #dbe3f7 !important;
    font-size: .96rem !important;
    line-height: 1.45;
}

.contact-section,
.purchase-section {
    padding: clamp(4.5rem, 8vw, 7rem) 1rem !important;
    background: #fff !important;
}

.contact-grid {
    margin-top: 0 !important;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
    gap: clamp(2rem, 6vw, 5rem) !important;
}

.contact-info {
    gap: .8rem !important;
}

.contact-item {
    min-height: 6.25rem;
    gap: 1rem !important;
    padding: 1rem 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pl-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none;
    overflow: visible !important;
}

.contact-item::before {
    display: none !important;
}

.contact-item:hover {
    box-shadow: none !important;
    transform: none !important;
}

.contact-icon {
    width: 3.2rem !important;
    height: 3.2rem !important;
    border-radius: 12px 12px 4px 12px !important;
    background: var(--pl-canvas) !important;
    color: var(--pl-blue) !important;
}

.contact-item:hover .contact-icon {
    transform: rotate(-3deg) !important;
}

.contact-title {
    margin: 0 0 .2rem !important;
    color: var(--pl-text) !important;
    font-size: 1rem !important;
    font-weight: 760 !important;
}

.contact-text,
.contact-item:hover .contact-text {
    color: var(--pl-muted) !important;
    font-size: .98rem !important;
}

.contact-form-card,
.login-card,
.register-card {
    padding: clamp(1.4rem, 4vw, 2.5rem) !important;
    border: 1px solid var(--pl-line) !important;
    border-radius: var(--pl-radius) var(--pl-radius) 7px var(--pl-radius) !important;
    background:
        linear-gradient(90deg, transparent 2rem, rgba(240, 90, 66, .18) 2rem, rgba(240, 90, 66, .18) calc(2rem + 1px), transparent calc(2rem + 1px)),
        var(--pl-paper) !important;
    box-shadow: var(--pl-shadow) !important;
    overflow: visible !important;
}

.contact-form-card::before,
.login-card::before,
.register-card::before {
    display: none !important;
}

.contact-form-card:hover,
.login-card:hover,
.register-card:hover {
    box-shadow: var(--pl-shadow) !important;
    transform: none !important;
}

.contact-form,
.login-form,
.register-form {
    gap: 1.15rem !important;
}

.form-label {
    margin-bottom: .45rem !important;
    color: #2f3a52 !important;
    font-size: .9rem !important;
    font-weight: 720 !important;
}

.honeypot-field {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.form-input,
.login-input,
.register-input,
.settings-input,
.profile-input {
    min-height: 3.2rem;
    padding: .82rem .95rem !important;
    border: 1px solid var(--pl-line-strong) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--pl-text) !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

.form-input:focus,
.login-input:focus,
.register-input:focus,
.settings-input:focus,
.profile-input:focus {
    border-color: var(--pl-blue) !important;
    box-shadow: 0 0 0 4px rgba(40, 87, 232, .13) !important;
    transform: none !important;
}

.form-input::placeholder,
.login-input::placeholder,
.register-input::placeholder {
    color: #66738c !important;
    opacity: 1;
}

.form-input[aria-invalid="true"] {
    border-color: #b83324 !important;
}

.field-error {
    margin: .42rem 0 0;
    color: #a72d22;
    font-size: .84rem;
    line-height: 1.4;
}

.field-note,
.form-optional {
    color: var(--pl-muted);
    font-size: .82rem;
    font-weight: 500;
}

.field-note {
    margin: .42rem 0 0;
}

.password-field {
    position: relative;
}

.password-field .form-input {
    padding-right: 5.5rem !important;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: .5rem;
    min-height: 2.25rem;
    padding: .35rem .6rem;
    border: 1px solid var(--pl-line);
    border-radius: 8px;
    background: var(--pl-canvas);
    color: var(--pl-blue-dark);
    font-size: .8rem;
    font-weight: 720;
    transform: translateY(-50%);
}

.form-status {
    margin: 0;
    padding: .75rem .85rem;
    border-radius: 9px;
    color: var(--pl-muted);
    font-size: .9rem;
    line-height: 1.45;
}

.form-status:empty {
    display: none;
}

.form-status[data-state="success"] {
    background: #e7f6f1;
    color: #126b59;
}

.form-status[data-state="error"] {
    background: #fff0ed;
    color: #92291f;
}

.contact-status {
    margin: .9rem 0 0;
    padding: .75rem .85rem;
    border-radius: 9px;
    color: var(--pl-muted);
    font-size: .9rem;
    line-height: 1.45;
}

.contact-status:empty {
    display: none;
}

.contact-status[data-state="success"] {
    background: #e7f6f1;
    color: #126b59;
}

.contact-status[data-state="error"] {
    background: #fff0ed;
    color: #92291f;
}

.contact-btn:disabled {
    cursor: wait;
    opacity: .72;
    transform: none !important;
}

.form-privacy {
    margin: 1rem 0 0;
    color: var(--pl-muted);
    font-size: .82rem;
    line-height: 1.55;
}

.form-privacy a {
    color: var(--pl-blue-dark);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: .08em;
    text-underline-offset: 3px;
}

.sample-card,
.type-card,
.schedule-card,
.pricing-card,
.subjects-section .bg-white {
    border: 1px solid var(--pl-line) !important;
    border-radius: var(--pl-radius) var(--pl-radius) 7px var(--pl-radius) !important;
    background: var(--pl-paper) !important;
    box-shadow: 0 12px 40px rgba(11, 21, 51, .09) !important;
}

.sample-card {
    padding: clamp(1.5rem, 5vw, 3.5rem) !important;
}

.sample-card:hover,
.type-card:hover,
.schedule-card:hover,
.pricing-card:hover,
.subjects-section .bg-white:hover {
    box-shadow: var(--pl-shadow) !important;
    transform: none !important;
}

.sample-card__layout {
    display: grid;
    grid-template-columns: minmax(230px, .82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: clamp(1.8rem, 6vw, 5rem);
    text-align: left;
}

.sample-document {
    min-height: 21rem;
    padding: 1.5rem 1.35rem 1.5rem 2.25rem;
    border: 1px solid var(--pl-line);
    background:
        linear-gradient(90deg, transparent 1.35rem, rgba(240, 90, 66, .34) 1.35rem, rgba(240, 90, 66, .34) calc(1.35rem + 1px), transparent calc(1.35rem + 1px)),
        repeating-linear-gradient(#fff 0, #fff 28px, #e3e8f1 29px);
    box-shadow: 12px 14px 0 #dfe6f5;
    transform: rotate(-1.2deg);
}

.sample-document__label {
    color: var(--pl-coral);
    font-size: .72rem;
    font-weight: 820;
    letter-spacing: .07em;
}

.sample-document__title {
    margin: 1.25rem 0 1.7rem;
    font-size: 1.7rem;
    font-weight: 840;
    line-height: 1.08;
}

.sample-document__line {
    width: 100%;
    height: 1px;
    margin: 1.2rem 0;
    background: var(--pl-line-strong);
}

.sample-card__copy h3 {
    margin: 0 0 1rem !important;
    color: var(--pl-text) !important;
    font-size: clamp(1.65rem, 3vw, 2.6rem) !important;
    font-weight: 830 !important;
    line-height: 1.08;
}

.sample-card__copy p {
    margin: 0 0 1.5rem !important;
    color: var(--pl-muted) !important;
    font-size: 1.02rem;
    line-height: 1.65;
}

.pricing-card {
    max-width: 39rem !important;
    padding: clamp(1.5rem, 5vw, 3.25rem) !important;
    border-color: var(--pl-line-strong) !important;
}

.pricing-card.featured::before {
    content: "Komplet" !important;
    padding: .55rem 2.7rem !important;
    background: var(--pl-coral) !important;
    color: #fff !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: .04em;
}

.pricing-card .w-20,
.type-card .w-20,
.schedule-card .w-20 {
    border-radius: 13px 13px 4px 13px !important;
    background: var(--pl-canvas) !important;
    color: var(--pl-blue) !important;
}

.pricing-card .w-20 i,
.type-card .w-20 i,
.schedule-card .w-20 i {
    color: var(--pl-blue) !important;
}

.price {
    color: var(--pl-blue-dark) !important;
    font-size: clamp(2.7rem, 7vw, 4.3rem) !important;
    font-variant-numeric: tabular-nums;
}

.features,
.type-features,
.schedule-features {
    margin: 1.25rem 0 1.6rem;
    padding: 0;
    display: grid;
    gap: .72rem;
    list-style: none;
    text-align: left;
}

.features li,
.type-features li,
.schedule-features li {
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    align-items: start !important;
    gap: .55rem !important;
    color: #354158 !important;
    line-height: 1.55;
}

.features li::before,
.type-features li::before,
.schedule-features li::before {
    content: "✓";
    color: var(--pl-mint) !important;
    font-size: 1rem !important;
    font-weight: 850;
    line-height: 1.55;
}

.types-grid {
    margin-top: 0 !important;
    gap: 1.15rem !important;
}

.type-card {
    padding: clamp(1.5rem, 4vw, 2.6rem) !important;
}

.type-card::before,
.schedule-card::before {
    display: none !important;
}

.type-card h3,
.schedule-card h3 {
    color: var(--pl-text) !important;
}

.type-btn {
    background: var(--pl-ink) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.subject-tabs {
    margin: 0 0 1.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.subject-tab {
    min-height: 3rem;
    padding: .7rem 1rem;
    border: 1px solid var(--pl-line-strong);
    border-radius: 11px 11px 4px 11px;
    background: #fff;
    color: var(--pl-text);
    font-weight: 740;
}

.subject-tab[aria-selected="true"] {
    border-color: var(--pl-blue);
    background: var(--pl-blue);
    color: #fff;
}

.schedule-grid {
    margin-top: 0 !important;
}

.schedule-card {
    padding: clamp(1.5rem, 5vw, 3rem) !important;
}

.schedule-card[hidden] {
    display: none !important;
}

.schedule-card__layout {
    display: grid;
    grid-template-columns: minmax(13rem, .72fr) minmax(0, 1.28fr);
    gap: clamp(1.6rem, 5vw, 4rem);
    align-items: start;
}

.schedule-card__intro {
    position: sticky;
    top: 6.25rem;
}

.schedule-card__intro h3 {
    margin: 0 0 .75rem;
    font-size: clamp(1.55rem, 3vw, 2.45rem) !important;
    font-weight: 820 !important;
    line-height: 1.08;
}

.schedule-card__intro p,
.schedule-card__details p {
    color: var(--pl-muted) !important;
    line-height: 1.6;
}

.schedule-card__details .type-features {
    margin-top: 0;
}

.schedule-note {
    margin: 1.3rem 0 !important;
    padding: .95rem 1rem;
    border: 1px dashed var(--pl-line-strong);
    background: #f7f9fd;
    color: #354158 !important;
    font-style: normal !important;
}

.subjects-section .bg-white {
    padding: clamp(1.6rem, 5vw, 3.5rem) !important;
}

.subjects-section .grid > .flex {
    padding: 1rem 0;
    border-top: 1px solid var(--pl-line);
}

.subjects-section .w-12 {
    border-radius: 11px 11px 4px 11px !important;
    background: var(--pl-ink) !important;
}

.login-section,
.register-section {
    min-height: calc(100dvh - 4.5rem);
}

.login-section > .container,
.register-section > .container {
    max-width: 34rem !important;
}

.login-section h1,
.register-section h1 {
    color: var(--pl-text) !important;
    font-size: clamp(2.35rem, 7vw, 4rem) !important;
    font-weight: 850 !important;
}

.login-section > .container > .text-center p,
.register-section > .container > .text-center p {
    color: var(--pl-muted) !important;
}

.register-link,
.login-link {
    min-height: 2.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .7rem 1rem;
    border: 1px solid var(--pl-line-strong);
    border-radius: 11px 11px 4px 11px !important;
    background: #fff !important;
    color: var(--pl-blue-dark) !important;
    box-shadow: none !important;
    font-weight: 740;
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease !important;
}

.register-link:hover,
.login-link:hover {
    border-color: var(--pl-blue);
    transform: translateY(-1px);
}

footer {
    position: relative;
    background: var(--pl-ink) !important;
    overflow: clip;
}

footer::before {
    content: "PRVA LEKCIJA";
    position: absolute;
    right: -1vw;
    top: -.14em;
    color: transparent;
    font-size: clamp(4rem, 13vw, 12rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: 1;
    -webkit-text-stroke: 1px rgba(255, 255, 255, .065);
    pointer-events: none;
    white-space: nowrap;
}

footer > div {
    position: relative;
    z-index: 1;
}

footer .animate-float,
footer .animate-pulse,
footer .animate-fadeInUp {
    animation: none !important;
}

footer .text-gradient {
    color: #fff !important;
}

footer a {
    text-underline-offset: 3px;
}

footer .text-gray-500 {
    color: #aebbd8 !important;
}

footer .border-t a {
    color: #ffffff !important;
    text-decoration: underline;
    text-decoration-thickness: .08em;
}

.legal-page,
.not-found-page {
    min-height: 100dvh;
    background: var(--pl-canvas);
}

.simple-header {
    border-bottom: 1px solid var(--pl-line);
    background: #fff;
}

.simple-header__inner {
    width: min(100%, calc(var(--pl-width) + 2rem));
    min-height: 4.5rem;
    margin: 0 auto;
    padding: .75rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.simple-header__back {
    color: var(--pl-blue-dark);
    font-weight: 720;
    text-decoration: none;
}

.legal-hero {
    padding: clamp(3.5rem, 8vw, 6rem) 1rem 2rem;
    background: var(--pl-ink);
}

.legal-hero__inner,
.legal-content {
    width: min(100%, 50rem);
    margin: 0 auto;
}

.legal-hero h1 {
    margin: 0 0 .75rem;
    color: #fff;
    font-size: clamp(2.45rem, 6vw, 4.6rem);
    font-weight: 850;
    line-height: 1;
}

.legal-hero p {
    margin: 0;
    color: #c6d1ec;
}

.legal-content {
    padding: 2.5rem 1rem 5rem;
}

.legal-section {
    padding: 1.6rem 0;
    border-bottom: 1px solid var(--pl-line);
}

.legal-section h2 {
    margin: 0 0 .65rem;
    color: var(--pl-text);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.025em;
}

.legal-section p,
.legal-section li {
    color: #46536c;
    line-height: 1.72;
}

.legal-section ul {
    padding-left: 1.2rem;
}

.legal-footer {
    padding: 1.5rem 1rem;
    background: var(--pl-ink);
    color: #c6d1ec;
    text-align: center;
    font-size: .85rem;
}

.legal-footer::before {
    display: none;
}

.legal-footer a {
    color: #fff;
}

.not-found-page {
    display: grid;
    grid-template-rows: auto 1fr auto;
}

.not-found {
    width: min(100%, 58rem);
    margin: 0 auto;
    padding: clamp(4rem, 10vw, 8rem) 1rem;
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    align-items: center;
    gap: clamp(2rem, 7vw, 6rem);
}

.not-found__code {
    color: var(--pl-coral);
    font-size: clamp(6rem, 20vw, 12rem);
    font-weight: 900;
    letter-spacing: -.08em;
    line-height: .82;
    font-variant-numeric: tabular-nums;
}

.not-found h1 {
    margin: 0 0 1rem;
    font-size: clamp(2.25rem, 5vw, 4.2rem);
    font-weight: 850;
    line-height: 1;
}

.not-found p {
    max-width: 37rem;
    margin: 0 0 1.5rem;
    color: var(--pl-muted);
    line-height: 1.65;
}

.not-found__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

@media (min-width: 1024px) {
    .site-nav__desktop {
        display: flex !important;
    }

    .site-nav__toggle,
    .site-nav__mobile {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .hero-shell {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .hero-copy {
        max-width: 44rem;
    }

    .hero-visual {
        min-height: 24rem;
    }

    .study-sheet {
        min-height: 23rem;
    }

    .services-grid {
        grid-template-columns: 1fr !important;
    }

    .service-card,
    .service-card:first-child,
    .service-card:last-child {
        min-height: 0;
        grid-column: auto;
        grid-row: auto;
    }

    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .stat-item:nth-child(2) {
        border-right: 0 !important;
    }

    .stat-item:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    }

    .contact-grid,
    .sample-card__layout,
    .schedule-card__layout,
    .not-found {
        grid-template-columns: 1fr !important;
    }

    .schedule-card__intro {
        position: static;
    }
}

@media (max-width: 640px) {
    .site-nav__bar {
        min-height: 4.25rem;
    }

    .site-nav-spacer {
        height: 4.25rem !important;
    }

    .site-brand {
        font-size: 1rem;
    }

    .site-brand__mark {
        width: 2.15rem;
        height: 2.15rem;
    }

    .hero-section {
        padding: 3.65rem 1rem 5rem !important;
    }

    .hero-section h1 {
        max-width: 100%;
        font-size: clamp(2.45rem, 13vw, 3.65rem) !important;
    }

    .hero-lead {
        font-size: 1.02rem !important;
    }

    .hero-actions {
        display: grid;
    }

    .pl-button {
        width: 100%;
    }

    .hero-tags {
        gap: .42rem;
    }

    .hero-visual {
        min-height: 22rem;
    }

    .study-sheet {
        width: calc(100% - 1rem);
        min-height: 21rem;
        padding: 1.2rem 1rem 1.2rem 1.8rem;
    }

    .study-sheet__title {
        font-size: 1.75rem;
    }

    .study-sheet__list li {
        font-size: .86rem;
    }

    .services-section,
    .stats-section,
    .contact-section,
    .free-sample-section,
    .purchase-section,
    .types-section,
    .schedule-section,
    .subjects-section,
    .login-section,
    .register-section {
        padding: 4rem 1rem !important;
    }

    .service-card {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .service-card__signal {
        width: fit-content;
        min-height: 0;
        padding: .42rem .6rem;
    }

    .stats-grid {
        grid-template-columns: 1fr !important;
    }

    .stat-item,
    .stat-item:nth-child(2) {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    }

    .stat-item:last-child {
        border-bottom: 0 !important;
    }

    .contact-item {
        flex-direction: row !important;
        text-align: left !important;
    }

    .contact-form-card,
    .login-card,
    .register-card {
        padding-left: 1.45rem !important;
        background: var(--pl-paper) !important;
    }

    .sample-document {
        min-height: 17.5rem;
    }

    .subject-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .subject-tab {
        width: 100%;
    }

    footer::before {
        top: .12em;
        font-size: 4.7rem;
    }

    .not-found {
        align-content: center;
    }

    .not-found__actions {
        display: grid;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .hero-copy {
        animation: pl-enter .65s cubic-bezier(.22, 1, .36, 1) both;
    }

    .hero-visual {
        animation: pl-paper-enter .75s .08s cubic-bezier(.22, 1, .36, 1) both;
    }

    @keyframes pl-enter {
        from { transform: translateY(14px); }
        to { transform: translateY(0); }
    }

    @keyframes pl-paper-enter {
        from { transform: translateY(18px) rotate(1deg); }
        to { transform: translateY(0) rotate(0); }
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    :root *,
    :root *::before,
    :root *::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

@media (forced-colors: active) {
    .site-brand__mark,
    .study-sheet__check,
    .subject-tab,
    .pl-button {
        forced-color-adjust: auto;
    }
}

.legal-footer__veze {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem 1.5rem;
    margin-bottom: .75rem;
}

.legal-footer p {
    margin: 0;
}

.kolacici-izbor {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
}

.kolacici-izbor p {
    flex-basis: 100%;
    margin: 0;
}

.kolacici-izbor button {
    min-height: 44px;
    padding: .6rem 1.2rem;
    border: 2px solid var(--pl-blue-dark);
    border-radius: 8px;
    background: #fff;
    color: var(--pl-blue-dark);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.kolacici-izbor button:hover {
    background: #eef0fd;
}

.kolacici-izbor button:focus-visible {
    outline: 2px solid var(--pl-blue-dark);
    outline-offset: 3px;
}

.kolacici-izbor button:disabled {
    opacity: .6;
    cursor: not-allowed;
}
/* Linija učenja: kratka uvodna koreografija, napredak i ritam beležnice. */
.pl-progress {
    --pl-progress: 0;
    position: fixed;
    inset: 0 0 auto;
    z-index: 11000;
    height: 3px;
    background: linear-gradient(90deg, #2857e8, #f05a42 68%, #f5c84c);
    transform: scaleX(var(--pl-progress));
    transform-origin: left;
    pointer-events: none;
}

.pl-intro {
    position: fixed;
    inset: 0;
    z-index: 10990;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 11px;
    color: #0b1533;
    background: #fff;
    pointer-events: none;
    animation: pl-intro-izlaz 220ms cubic-bezier(.65, 0, .35, 1) 300ms both;
}

.pl-intro__ime {
    font-size: clamp(1.1rem, 3vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -.025em;
    animation: pl-intro-ime 330ms cubic-bezier(.16, 1, .3, 1) both;
}

.pl-intro__olovka {
    width: 44px;
    height: 12px;
    border-radius: 2px 7px 7px 2px;
    background: linear-gradient(90deg, #f5c84c 0 70%, #f05a42 70% 84%, #2857e8 84%);
    transform: rotate(-8deg);
    animation: pl-intro-olovka 380ms cubic-bezier(.16, 1, .3, 1) both;
}

.pl-intro__linija {
    width: 132px;
    height: 2px;
    background: #2857e8;
    transform-origin: left;
    animation: pl-intro-linija 380ms cubic-bezier(.65, 0, .35, 1) both;
}

@keyframes pl-intro-ime { from { opacity: 0; transform: translateY(7px); } }
@keyframes pl-intro-olovka { from { opacity: 0; transform: translate(-34px, 9px) rotate(-8deg); } }
@keyframes pl-intro-linija { from { transform: scaleX(0); } }
@keyframes pl-intro-izlaz { to { opacity: 0; visibility: hidden; transform: translateY(-9px); } }

.pl-vodic {
    --pl-progress: 0;
    position: fixed;
    top: 16vh;
    left: max(20px, calc((100vw - 1280px) / 2));
    z-index: 80;
    display: none;
    width: 34px;
    height: 68vh;
    pointer-events: none;
}

.pl-vodic__margina {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    width: 2px;
    background: linear-gradient(to bottom, #f05a42 calc(var(--pl-progress) * 100%), rgba(40, 87, 232, .16) 0);
}

.pl-vodic__margina::after {
    content: '';
    position: absolute;
    inset: 0 -9px;
    background: repeating-linear-gradient(to bottom, transparent 0 28px, rgba(40, 87, 232, .12) 28px 29px);
}

.pl-vodic__olovka {
    position: absolute;
    top: calc(var(--pl-progress) * 100%);
    left: 5px;
    width: 22px;
    height: 7px;
    border-radius: 2px 5px 5px 2px;
    background: linear-gradient(90deg, #f5c84c 0 72%, #f05a42 72%);
    box-shadow: 0 3px 12px rgba(11, 21, 51, .2);
    transform: translateY(-50%) rotate(-18deg);
}

.pl-motion-ready [data-pl-motion] {
    opacity: 0;
    transition: opacity .48s ease var(--pl-delay, 0ms), transform .62s cubic-bezier(.16, 1, .3, 1) var(--pl-delay, 0ms), clip-path .62s cubic-bezier(.16, 1, .3, 1) var(--pl-delay, 0ms);
}

.pl-motion-ready [data-pl-motion="papir-levo"] { transform: translate3d(-18px, 12px, 0) rotate(-.7deg); }
.pl-motion-ready [data-pl-motion="papir-desno"] { transform: translate3d(18px, 12px, 0) rotate(.7deg); }
.pl-motion-ready [data-pl-motion="naslov"] { clip-path: inset(0 0 100%); transform: translateY(10px); }
.pl-motion-ready [data-pl-motion="linije"] { clip-path: inset(0 0 0 100%); }
.pl-motion-ready [data-pl-motion].pl-motion-in { opacity: 1; clip-path: inset(0); transform: none; }

form :where(input, textarea, select)[data-pl-popunjeno] {
    border-color: #2857e8 !important;
    box-shadow: inset 3px 0 0 #f5c84c;
}

@media (min-width: 1280px) {
    .pl-vodic { display: block; }
}

@media (max-width: 700px) {
    .pl-motion-ready [data-pl-motion="papir-levo"],
    .pl-motion-ready [data-pl-motion="papir-desno"] { transform: translateY(11px); }
}

@media (prefers-reduced-motion: reduce) {
    .pl-intro,
    .pl-progress,
    .pl-vodic { display: none !important; }

    .pl-motion-ready [data-pl-motion] {
        opacity: 1 !important;
        clip-path: none !important;
        transform: none !important;
    }

    .stat-item,
    [data-parallax] {
        transform: none !important;
    }
}

/* Radni sto, papir i beleške čine prepoznatljiv okvir početne strane. */
.hero-section {
    position: relative;
    isolation: isolate;
    overflow: clip;
    background:
        linear-gradient(120deg, rgba(40, 87, 232, .08), transparent 42%),
        repeating-linear-gradient(0deg, transparent 0 31px, rgba(40, 87, 232, .055) 31px 32px),
        #fbfcff;
}

.hero-section::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: clamp(24px, 8vw, 128px);
    z-index: -1;
    width: 2px;
    background: rgba(240, 90, 66, .32);
}

.hero-copy h1 {
    max-width: 12ch;
    font-size: clamp(3rem, 7.2vw, 5.75rem);
    line-height: .96;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.hero-copy h1 em {
    color: #d84532;
    background: none;
    font-style: normal;
    -webkit-text-fill-color: currentColor;
    text-decoration: underline;
    text-decoration-color: rgba(245, 200, 76, .9);
    text-decoration-thickness: .12em;
    text-underline-offset: .08em;
}

.study-sheet {
    border: 1px solid rgba(11, 21, 51, .17);
    border-radius: 5px 24px 5px 5px;
    box-shadow: 14px 18px 0 rgba(40, 87, 232, .09), 0 34px 70px rgba(11, 21, 51, .14);
    transform: rotate(1.1deg);
}

.services-section {
    position: relative;
    overflow: clip;
    background: linear-gradient(180deg, #ffffff, #f5f7ff 82%);
}

.services-section::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: repeating-linear-gradient(115deg, #2857e8 0 20px, #f5c84c 20px 28px, transparent 28px 42px);
    opacity: .62;
}

.service-card {
    position: relative;
    border: 1px solid rgba(40, 87, 232, .18);
    border-radius: 5px 25px 5px 5px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 22px 46px rgba(11, 21, 51, .08);
}

.service-card::after {
    content: '';
    position: absolute;
    right: 18px;
    bottom: 16px;
    width: 34px;
    height: 2px;
    background: #f05a42;
    transform: rotate(-7deg);
    transform-origin: right;
}

.service-card__signal {
    color: #123fbf;
    background: #edf2ff;
    border-color: rgba(40, 87, 232, .18);
}

.pl-button--primary,
.contact-btn {
    border-radius: 5px 15px 5px 5px;
    box-shadow: 0 12px 28px rgba(40, 87, 232, .22);
}

.contact-form-card {
    position: relative;
    border-radius: 5px 28px 5px 5px;
    box-shadow: 12px 14px 0 rgba(245, 200, 76, .18), 0 28px 64px rgba(11, 21, 51, .11);
}

.section-heading h2 {
    max-width: 18ch;
    text-wrap: balance;
}

@supports (content-visibility: auto) {
    .stats-section,
    .contact-section {
        content-visibility: auto;
        contain-intrinsic-size: auto 720px;
    }
}

@media (min-width: 900px) {
    .services-grid .service-card:nth-child(2) {
        transform: translateY(24px);
    }
}

@media (max-width: 700px) {
    .hero-section::after {
        left: 13px;
    }

    .hero-copy h1 {
        font-size: clamp(2.75rem, 13vw, 4rem);
    }

    .study-sheet {
        transform: none;
        box-shadow: 8px 10px 0 rgba(40, 87, 232, .08), 0 24px 46px rgba(11, 21, 51, .12);
    }
}

@media (prefers-reduced-motion: reduce) {
    .services-grid .service-card:nth-child(2),
    .study-sheet {
        transform: none;
    }
}
