*, ::before, ::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.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-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:"Plus Jakarta Sans", Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;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;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}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}.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}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0px}.inset-x-0{left:0px;right:0px}.inset-x-4{left:1rem;right:1rem}.-right-40{right:-10rem}.-top-3\.5{top:-0.875rem}.-top-40{top:-10rem}.bottom-0{bottom:0px}.bottom-3{bottom:0.75rem}.left-0{left:0px}.left-1\/2{left:50%}.left-3{left:0.75rem}.left-4{left:1rem}.left-8{left:2rem}.left-\[22px\]{left:22px}.left-\[69\%\]{left:69%}.right-3{right:0.75rem}.right-4{right:1rem}.right-\[22px\]{right:22px}.top-0{top:0px}.top-1\/2{top:50%}.top-3{top:0.75rem}.top-\[22px\]{top:22px}.top-\[47\%\]{top:47%}.top-full{top:100%}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-6{order:6}.order-7{order:7}.order-first{order:-9999}.col-span-2{grid-column:span 2 / span 2}.\!m-0{margin:0px !important}.m-0{margin:0px}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.mx-2{margin-left:0.5rem;margin-right:0.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-ml-3{margin-left:-0.75rem}.-mt-10{margin-top:-2.5rem}.-mt-14{margin-top:-3.5rem}.-mt-6{margin-top:-1.5rem}.-mt-8{margin-top:-2rem}.mb-1{margin-bottom:0.25rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:0.5rem}.ml-3{margin-left:0.75rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:0.125rem}.mt-1{margin-top:0.25rem}.mt-1\.5{margin-top:0.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:0.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-\[7px\]{margin-top:7px}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-1{height:0.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:0.5rem}.h-2\.5{height:0.625rem}.h-3{height:0.75rem}.h-3\.5{height:0.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[255px\]{height:255px}.h-\[2px\]{height:2px}.h-\[520px\]{height:520px}.h-\[54px\]{height:54px}.h-\[620px\]{height:620px}.h-\[64px\]{height:64px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[78vh\]{max-height:78vh}.max-h-none{max-height:none}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:0.5rem}.w-2\.5{width:0.625rem}.w-3{width:0.75rem}.w-3\.5{width:0.875rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[120px\]{width:120px}.w-\[18px\]{width:18px}.w-\[250px\]{width:250px}.w-\[280px\]{width:280px}.w-\[340px\]{width:340px}.w-\[520px\]{width:520px}.w-\[620px\]{width:620px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[520px\]{min-width:520px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[1280px\]{max-width:1280px}.max-w-\[22ch\]{max-width:22ch}.max-w-\[44ch\]{max-width:44ch}.max-w-\[46ch\]{max-width:46ch}.max-w-\[56ch\]{max-width:56ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[64ch\]{max-width:64ch}.max-w-\[66ch\]{max-width:66ch}.max-w-\[70ch\]{max-width:70ch}.max-w-\[80ch\]{max-width:80ch}.max-w-\[92vw\]{max-width:92vw}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--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))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[52\%\]{--tw-translate-y:-52%;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-full{--tw-translate-y:100%;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-\[-4deg\]{--tw-rotate:-4deg;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))}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.scroll-mt-28{scroll-margin-top:7rem}.scroll-mt-40{scroll-margin-top:10rem}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-\[3\.5rem_1fr_auto\]{grid-template-columns:3.5rem 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.\!items-start{align-items:flex-start !important}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:0.125rem}.gap-1{gap:0.25rem}.gap-1\.5{gap:0.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:0.5rem}.gap-2\.5{gap:0.625rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-7{column-gap:1.75rem}.gap-y-2\.5{row-gap:0.625rem}.-space-x-1 > :not([hidden]) ~ :not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.space-y-16 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-2 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.space-y-3 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.space-y-6 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.divide-y > :not([hidden]) ~ :not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-ink-200 > :not([hidden]) ~ :not([hidden]){--tw-divide-opacity:1;border-color:rgb(var(--ink-200) / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:0.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[2px\]{border-radius:2px}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[9px\]{border-radius:9px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:0.5rem}.rounded-md{border-radius:0.375rem}.rounded-sm{border-radius:0.125rem}.rounded-xl{border-radius:0.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#E2E8F0\]{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-brand-100{--tw-border-opacity:1;border-color:rgb(var(--brand-100) / var(--tw-border-opacity, 1))}.border-ink{--tw-border-opacity:1;border-color:rgb(var(--ink) / var(--tw-border-opacity, 1))}.border-ink-200{--tw-border-opacity:1;border-color:rgb(var(--ink-200) / var(--tw-border-opacity, 1))}.border-ink-300{--tw-border-opacity:1;border-color:rgb(var(--ink-300) / var(--tw-border-opacity, 1))}.border-navy{--tw-border-opacity:1;border-color:rgb(4 28 55 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:rgb(255 255 255 / 0.1)}.border-white\/15{border-color:rgb(255 255 255 / 0.15)}.border-white\/20{border-color:rgb(255 255 255 / 0.2)}.border-white\/30{border-color:rgb(255 255 255 / 0.3)}.bg-\[\#10B981\]{--tw-bg-opacity:1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-\[\#3B82F6\]{--tw-bg-opacity:1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-\[\#8B5CF6\]{--tw-bg-opacity:1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-\[\#C9A45C\]{--tw-bg-opacity:1;background-color:rgb(201 164 92 / var(--tw-bg-opacity, 1))}.bg-\[\#E2E8F0\]{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-\[\#ECFDF5\]{--tw-bg-opacity:1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-\[\#F43F5E\]{--tw-bg-opacity:1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-\[\#F59E0B\]{--tw-bg-opacity:1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-\[\#F8FAFC\]{--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-brand-100{--tw-bg-opacity:1;background-color:rgb(var(--brand-100) / var(--tw-bg-opacity, 1))}.bg-brand-50{--tw-bg-opacity:1;background-color:rgb(var(--brand-50) / var(--tw-bg-opacity, 1))}.bg-brand-500{--tw-bg-opacity:1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-brand-600{--tw-bg-opacity:1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-cta{--tw-bg-opacity:1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-ink{--tw-bg-opacity:1;background-color:rgb(var(--ink) / var(--tw-bg-opacity, 1))}.bg-ink-200{--tw-bg-opacity:1;background-color:rgb(var(--ink-200) / var(--tw-bg-opacity, 1))}.bg-ink-300{--tw-bg-opacity:1;background-color:rgb(var(--ink-300) / var(--tw-bg-opacity, 1))}.bg-navy{--tw-bg-opacity:1;background-color:rgb(4 28 55 / var(--tw-bg-opacity, 1))}.bg-paper{--tw-bg-opacity:1;background-color:rgb(var(--paper) / var(--tw-bg-opacity, 1))}.bg-paper\/90{background-color:rgb(var(--paper) / 0.9)}.bg-surface{--tw-bg-opacity:1;background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1))}.bg-surface\/80{background-color:rgb(var(--surface) / 0.8)}.bg-surface\/85{background-color:rgb(var(--surface) / 0.85)}.bg-surface\/95{background-color:rgb(var(--surface) / 0.95)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:rgb(255 255 255 / 0.05)}.bg-white\/\[\.04\]{background-color:rgb(255 255 255 / .04)}.bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-\[\#A7F3D0\]{--tw-gradient-from:#A7F3D0 var(--tw-gradient-from-position);--tw-gradient-to:rgb(167 243 208 / 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:rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-brand-500{--tw-gradient-to:rgb(16 185 129 / 0)  var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #10B981 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black\/10{--tw-gradient-to:rgb(0 0 0 / 0.1) var(--tw-gradient-to-position)}.to-cta{--tw-gradient-to:#FBBF24 var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.\!px-4{padding-left:1rem !important;padding-right:1rem !important}.\!py-3{padding-top:0.75rem !important;padding-bottom:0.75rem !important}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-2\.5{padding-left:0.625rem;padding-right:0.625rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-3\.5{padding-left:0.875rem;padding-right:0.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[14px\]{padding-top:14px;padding-bottom:14px}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:0.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-11{padding-left:2.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:0.25rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-3{padding-top:0.75rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:"Plus Jakarta Sans", Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[21px\]{font-size:21px}.text-\[34px\]{font-size:34px}.text-\[36px\]{font-size:36px}.text-\[38px\]{font-size:38px}.text-\[40px\]{font-size:40px}.text-\[8px\]{font-size:8px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-\[1\.03\]{line-height:1.03}.leading-\[1\.04\]{line-height:1.04}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-0.01em}.tracking-\[-0\.02em\]{letter-spacing:-0.02em}.tracking-\[-0\.035em\]{letter-spacing:-0.035em}.tracking-\[-0\.03em\]{letter-spacing:-0.03em}.tracking-\[\.14em\]{letter-spacing:.14em}.tracking-\[\.15em\]{letter-spacing:.15em}.tracking-\[\.18em\]{letter-spacing:.18em}.tracking-\[1px\]{letter-spacing:1px}.tracking-tight{letter-spacing:-0.025em}.text-\[\#041C37\]{--tw-text-opacity:1;color:rgb(4 28 55 / var(--tw-text-opacity, 1))}.text-\[\#047857\]{--tw-text-opacity:1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-\[\#64748B\]{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-\[\#C9A45C\]{--tw-text-opacity:1;color:rgb(201 164 92 / var(--tw-text-opacity, 1))}.text-brand-300{--tw-text-opacity:1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-brand-400{--tw-text-opacity:1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-brand-600{--tw-text-opacity:1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity:1;color:rgb(var(--brand-700) / var(--tw-text-opacity, 1))}.text-brand-800{--tw-text-opacity:1;color:rgb(var(--brand-800) / var(--tw-text-opacity, 1))}.text-cta{--tw-text-opacity:1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-cta-hover{--tw-text-opacity:1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity, 1))}.text-ink-200{--tw-text-opacity:1;color:rgb(var(--ink-200) / var(--tw-text-opacity, 1))}.text-ink-300{--tw-text-opacity:1;color:rgb(var(--ink-300) / var(--tw-text-opacity, 1))}.text-ink-500{--tw-text-opacity:1;color:rgb(var(--ink-500) / var(--tw-text-opacity, 1))}.text-ink-700{--tw-text-opacity:1;color:rgb(var(--ink-700) / var(--tw-text-opacity, 1))}.text-ink-800{--tw-text-opacity:1;color:rgb(var(--ink-800) / var(--tw-text-opacity, 1))}.text-navy{--tw-text-opacity:1;color:rgb(4 28 55 / var(--tw-text-opacity, 1))}.text-paper{--tw-text-opacity:1;color:rgb(var(--paper) / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/40{color:rgb(255 255 255 / 0.4)}.text-white\/45{color:rgb(255 255 255 / 0.45)}.text-white\/55{color:rgb(255 255 255 / 0.55)}.text-white\/60{color:rgb(255 255 255 / 0.6)}.text-white\/70{color:rgb(255 255 255 / 0.7)}.text-white\/75{color:rgb(255 255 255 / 0.75)}.text-white\/80{color:rgb(255 255 255 / 0.8)}.text-white\/85{color:rgb(255 255 255 / 0.85)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.decoration-brand-300{-webkit-text-decoration-color:#6EE7B7;text-decoration-color:#6EE7B7}.decoration-ink-300{-webkit-text-decoration-color:rgb(var(--ink-300) / 1);text-decoration-color:rgb(var(--ink-300) / 1)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:0.6}.opacity-70{opacity:0.7}.opacity-80{opacity:0.8}.opacity-\[\.08\]{opacity:.08}.opacity-\[\.55\]{opacity:.55}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-\[0_10px_30px_-10px_rgba\(245\2c 158\2c 11\2c \.9\)\]{--tw-shadow:0 10px 30px -10px rgba(245,158,11,.9);--tw-shadow-colored:0 10px 30px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-\[0_24px_48px_-16px_rgba\(4\2c 28\2c 55\2c \.4\)\2c 0_2px_6px_rgba\(4\2c 28\2c 55\2c \.1\)\]{--tw-shadow:0 24px 48px -16px rgba(4,28,55,.4),0 2px 6px rgba(4,28,55,.1);--tw-shadow-colored:0 24px 48px -16px var(--tw-shadow-color), 0 2px 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-\[0_40px_80px_-20px_rgba\(0\2c 0\2c 0\2c \.6\)\]{--tw-shadow:0 40px 80px -20px rgba(0,0,0,.6);--tw-shadow-colored:0 40px 80px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-\[0_6px_20px_-6px_rgba\(245\2c 158\2c 11\2c \.7\)\]{--tw-shadow:0 6px 20px -6px rgba(245,158,11,.7);--tw-shadow-colored:0 6px 20px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-book{--tw-shadow:30px 40px 60px -20px rgba(15,23,42,.45), 0 10px 20px -10px rgba(15,23,42,.3);--tw-shadow-colored:30px 40px 60px -20px var(--tw-shadow-color), 0 10px 20px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.ring-1{--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)}.ring-2{--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)}.ring-4{--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(4px + 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)}.ring-ink-200{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--ink-200) / var(--tw-ring-opacity, 1))}.ring-navy{--tw-ring-opacity:1;--tw-ring-color:rgb(4 28 55 / var(--tw-ring-opacity, 1))}.ring-paper{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--paper) / var(--tw-ring-opacity, 1))}.ring-white\/10{--tw-ring-color:rgb(255 255 255 / 0.1)}.ring-white\/15{--tw-ring-color:rgb(255 255 255 / 0.15)}.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{--tw-backdrop-blur:blur(8px);-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)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-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-colors{transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.\[text-wrap\:pretty\]{text-wrap:pretty}.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-ink:hover{--tw-border-opacity:1;border-color:rgb(var(--ink) / var(--tw-border-opacity, 1))}.hover\:border-ink-300:hover{--tw-border-opacity:1;border-color:rgb(var(--ink-300) / var(--tw-border-opacity, 1))}.hover\:border-ink-500:hover{--tw-border-opacity:1;border-color:rgb(var(--ink-500) / var(--tw-border-opacity, 1))}.hover\:bg-\[\#0B2A4F\]:hover{--tw-bg-opacity:1;background-color:rgb(11 42 79 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#ECFDF5\]:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.hover\:bg-cta-hover:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.hover\:bg-ink:hover{--tw-bg-opacity:1;background-color:rgb(var(--ink) / var(--tw-bg-opacity, 1))}.hover\:bg-ink-200\/50:hover{background-color:rgb(var(--ink-200) / 0.5)}.hover\:bg-ink-200\/60:hover{background-color:rgb(var(--ink-200) / 0.6)}.hover\:bg-paper:hover{--tw-bg-opacity:1;background-color:rgb(var(--paper) / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:rgb(255 255 255 / 0.1)}.hover\:text-brand-700:hover{--tw-text-opacity:1;color:rgb(var(--brand-700) / var(--tw-text-opacity, 1))}.hover\:text-brand-900:hover{--tw-text-opacity:1;color:rgb(var(--brand-900) / var(--tw-text-opacity, 1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity, 1))}.hover\:text-paper:hover{--tw-text-opacity:1;color:rgb(var(--paper) / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:brightness-105:hover{--tw-brightness:brightness(1.05);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)}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-3:focus{left:0.75rem}.focus\:top-3:focus{top:0.75rem}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-md:focus{border-radius:0.375rem}.focus\:border-brand-600:focus{--tw-border-opacity:1;border-color:rgb(5 150 105 / var(--tw-border-opacity, 1))}.focus\:bg-surface:focus{--tw-bg-opacity:1;background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:0.5rem;padding-bottom:0.5rem}.focus\:shadow:focus{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4: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(4px + 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-brand-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--brand-100) / var(--tw-ring-opacity, 1))}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-offset-\[12px\]:focus-visible{outline-offset:12px}.focus-visible\:outline-brand-600:focus-visible{outline-color:#059669}.focus-visible\:outline-ink:focus-visible{outline-color:rgb(var(--ink) / 1)}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem;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))}@media (min-width: 380px){.min-\[380px\]\:text-\[14px\]{font-size:14px}}@media (min-width: 640px){.sm\:inset-x-6{left:1.5rem;right:1.5rem}.sm\:left-6{left:1.5rem}.sm\:left-\[42\%\]{left:42%}.sm\:right-6{right:1.5rem}.sm\:top-6{top:1.5rem}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:mx-0{margin-left:0px;margin-right:0px}.sm\:mt-0{margin-top:0px}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:h-\[580px\]{height:580px}.sm\:max-h-\[84vh\]{max-height:84vh}.sm\:w-\[380px\]{width:380px}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:0.5rem}.sm\:gap-2\.5{gap:0.625rem}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:p-8{padding:2rem}.sm\:px-0{padding-left:0px;padding-right:0px}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\:px-20{padding-left:5rem;padding-right:5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:pl-\[4\.5rem\]{padding-left:4.5rem}.sm\:pt-14{padding-top:3.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-\[16px\]{font-size:16px}.sm\:text-\[20px\]{font-size:20px}.sm\:text-\[40px\]{font-size:40px}.sm\:text-\[42px\]{font-size:42px}.sm\:text-\[48px\]{font-size:48px}.sm\:text-\[52px\]{font-size:52px}.sm\:text-\[54px\]{font-size:54px}.sm\:text-\[56px\]{font-size:56px}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:tracking-\[2px\]{letter-spacing:2px}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:mx-0{margin-left:0px;margin-right:0px}.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.md\:grid-cols-\[1\.3fr_1fr\]{grid-template-columns:1.3fr 1fr}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}}@media (min-width: 1024px){.lg\:inset-x-8{left:2rem;right:2rem}.lg\:order-none{order:0}.lg\:mx-0{margin-left:0px;margin-right:0px}.lg\:mt-0{margin-top:0px}.lg\:mt-10{margin-top:2.5rem}.lg\:mt-4{margin-top:1rem}.lg\:mt-9{margin-top:2.25rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:hidden{display:none}.lg\:h-\[72px\]{height:72px}.lg\:min-h-\[calc\(100svh-73px\)\]{min-height:calc(100svh - 73px)}.lg\:w-80{width:20rem}.lg\:w-\[440px\]{width:440px}.lg\:shrink-0{flex-shrink:0}.lg\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.lg\:grid-cols-\[\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[1\.05fr_\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-\[1\.1fr_\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[1\.3fr_\.7fr\]{grid-template-columns:1.3fr .7fr}.lg\:grid-cols-\[1\.4fr_\.6fr\]{grid-template-columns:1.4fr .6fr}.lg\:grid-cols-\[320px_1fr\]{grid-template-columns:320px 1fr}.lg\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:gap-1{gap:0.25rem}.lg\:gap-1\.5{gap:0.375rem}.lg\:gap-12{gap:3rem}.lg\:gap-14{gap:3.5rem}.lg\:gap-4{gap:1rem}.lg\:divide-x > :not([hidden]) ~ :not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:divide-y-0 > :not([hidden]) ~ :not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.lg\:px-0{padding-left:0px;padding-right:0px}.lg\:px-3{padding-left:0.75rem;padding-right:0.75rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\:pb-0{padding-bottom:0px}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pt-14{padding-top:3.5rem}.lg\:text-\[15px\]{font-size:15px}.lg\:text-\[44px\]{font-size:44px}.lg\:font-medium{font-weight:500}}@media (min-width: 1280px){.xl\:col-span-3{grid-column:span 3 / span 3}.xl\:col-span-4{grid-column:span 4 / span 4}.xl\:inline{display:inline}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.xl\:text-\[52px\]{font-size:52px}}
/* ── Rediseño 2026: estilos propios (se añaden tras el CSS de Tailwind) ──
   Fuente: tools/rediseno/sitio.css → se compila en assets/css/app.<hash>.css
   con tools/rediseno/build_css.py. No editar el CSS compilado a mano. */

/* Paleta con modo oscuro: tripletes RGB para Tailwind (rgb(var(--x) / α)) */
:root {
  --ink: 4 28 55; --ink-800: 30 41 59; --ink-700: 51 65 85; --ink-500: 100 116 139;
  --ink-300: 203 213 225; --ink-200: 226 232 240;
  --paper: 248 250 252; --surface: 255 255 255;
  --brand-50: 236 253 245; --brand-100: 209 250 229;
  --brand-700: 4 120 87; --brand-800: 6 95 70; --brand-900: 6 78 59;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ink: 232 238 246; --ink-800: 214 223 235; --ink-700: 184 196 211; --ink-500: 140 156 176;
    --ink-300: 62 84 113; --ink-200: 32 54 84;
    --paper: 6 18 34; --surface: 11 30 54;
    --brand-50: 6 47 40; --brand-100: 8 66 52;
    --brand-700: 110 231 183; --brand-800: 167 243 208; --brand-900: 209 250 229;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --ink: 232 238 246; --ink-800: 214 223 235; --ink-700: 184 196 211; --ink-500: 140 156 176;
  --ink-300: 62 84 113; --ink-200: 32 54 84;
  --paper: 6 18 34; --surface: 11 30 54;
  --brand-50: 6 47 40; --brand-100: 8 66 52;
  --brand-700: 110 231 183; --brand-800: 167 243 208; --brand-900: 209 250 229;
  color-scheme: dark;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(80px + env(safe-area-inset-top, 0px)); }
body { font-feature-settings: "tnum" 1, "cv11" 1; -webkit-font-smoothing: antialiased; background: rgb(var(--paper)); }
.num { font-variant-numeric: tabular-nums; }

/* Interruptor de tema: icono según el modo efectivo */
.tema-luna { display: block; } .tema-sol { display: none; }
:root[data-theme="dark"] .tema-luna { display: none; }
:root[data-theme="dark"] .tema-sol { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .tema-luna { display: none; }
  :root:not([data-theme="light"]) .tema-sol { display: block; }
}

/* Mega-menú */
.menu-panel { opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.menu-panel[data-open="true"] { opacity: 1; visibility: visible; transform: translateY(0); transition: opacity .18s ease, transform .18s ease, visibility 0s; }
.nav-trigger[aria-expanded="true"] .chev { transform: rotate(180deg); }
.chev { transition: transform .2s ease; }
.mm-col { --c: #10B981; }
.mm-icon { background: color-mix(in srgb, var(--c) 14%, rgb(var(--surface))); color: var(--c); }
.mm-link { display: flex; align-items: center; gap: .6rem; padding: .45rem .6rem; margin: 0 -.6rem; border-radius: .6rem; transition: background-color .15s ease; }
.mm-link:hover, .mm-link:focus-visible { background: color-mix(in srgb, var(--c) 10%, rgb(var(--surface))); outline: none; }
.mm-dot { width: .5rem; height: .5rem; border-radius: 999px; background: var(--c); flex-shrink: 0; transition: transform .15s ease; box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 18%, transparent); }
.mm-link:hover .mm-dot { transform: scale(1.25); }
.mm-tag { margin-left: auto; font-size: 11px; color: rgb(var(--ink-500)); white-space: nowrap; font-variant-numeric: tabular-nums; }
.mm-badge { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 999px; background: var(--c); color: #fff; }
.mm-col-head { box-shadow: inset 0 3px 0 var(--c); }
.mm-fire:hover { background: color-mix(in srgb, #F43F5E 8%, rgb(var(--paper))); }

/* Lightbox */
dialog.lb::backdrop { background: rgba(4,28,55,.9); backdrop-filter: blur(6px); }
dialog.lb[open] .lb-img { animation: lbin .28s cubic-bezier(.2,.7,.2,1); }
@keyframes lbin { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
.lb-btn { width: 3rem; height: 3rem; border-radius: 999px; display: grid; place-items: center; background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.25); transition: background-color .15s; }
.lb-btn:hover, .lb-btn:focus-visible { background: rgba(255,255,255,.24); outline: none; }

/* Tarjetas de herramienta y chips */
.tool-card { --c: #10B981; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.tool-card:hover, .tool-card:focus-visible { transform: translateY(-3px); border-color: color-mix(in srgb, var(--c) 45%, rgb(var(--surface))); box-shadow: 0 18px 40px -18px color-mix(in srgb, var(--c) 55%, transparent); outline: none; }
.tool-card .t-stripe { background: var(--c); }
.tool-card .t-big { background: color-mix(in srgb, var(--c) 10%, rgb(var(--surface))); color: color-mix(in srgb, var(--c) 65%, rgb(var(--ink))); }
.tool-card .t-type, .tool-card .t-cta { color: color-mix(in srgb, var(--c) 62%, rgb(var(--ink))); }
.chip { --c: #041C37; transition: background-color .15s, color .15s, border-color .15s; }
.chip[aria-pressed="true"] { background: var(--c); border-color: var(--c); color: #fff !important; }
.chip[aria-pressed="true"] .chip-dot { background: #fff; box-shadow: none; }
.chip[aria-pressed="true"] .chip-n { color: rgba(255,255,255,.75); }
.chip-dot { background: var(--c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 18%, transparent); }

/* Libro 3D: portada, lomo, canto de páginas y trasera */
.stage { --w: 280px; --h: 397px; --d: 26px; perspective: 2200px; }
@media (max-width: 639px) { .stage { --w: 150px; --h: 213px; --d: 14px; } }
/* Libro reducido en móvil: el lomo (más corto) solo lleva el título, en letra pequeña, para que no se salga */
@media (max-width: 639px) { .book-spine > span:nth-child(2) { font-size: 7px; letter-spacing: .12em; } .book-spine > span:nth-child(3) { display: none; } }
.book-wrap { animation: rise 1.1s cubic-bezier(.2,.7,.2,1) .1s both; }
@keyframes rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
.book { position: relative; width: var(--w); height: var(--h); transform-style: preserve-3d; transform: rotateY(28deg) rotateX(3deg); transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.stage:hover .book, .book-btn:focus-visible .book { transform: rotateY(16deg) rotateX(2deg) translateY(-8px); }
.book > * { position: absolute; top: 0; }
.book-front { inset: 0; transform: translateZ(calc(var(--d) / 2)); border-radius: 1px 5px 5px 1px; overflow: hidden; background: #041C37; }
.book-back { inset: 0; transform: rotateY(180deg) translateZ(calc(var(--d) / 2)); border-radius: 5px 1px 1px 5px; background: #041C37; }
.book-spine { width: var(--d); height: 100%; left: calc((var(--w) - var(--d)) / 2); transform: rotateY(-90deg) translateZ(calc(var(--w) / 2)); background: linear-gradient(90deg, #01101F 0%, #0A2A4E 40%, #062242 70%, #01101F 100%); }
.book-edge { width: var(--d); height: calc(100% - 6px); top: 3px; left: calc((var(--w) - var(--d)) / 2); transform: rotateY(90deg) translateZ(calc(var(--w) / 2 - 4px)); background: linear-gradient(90deg, rgba(0,0,0,.12), transparent 30%, transparent 70%, rgba(0,0,0,.12)), repeating-linear-gradient(180deg, #FBFAF7 0 1px, #E9E6DF 1px 2px); }
.cover-light { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(0,0,0,.45) 0, rgba(0,0,0,.08) 5px, rgba(255,255,255,.28) 8px, rgba(255,255,255,0) 14px), linear-gradient(110deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.16) 45%, rgba(255,255,255,0) 60%), linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.12)); }
.floor-shadow { position: absolute; left: 50%; bottom: -28px; width: calc(var(--w) * 1.05); height: 46px; transform: translateX(-46%); background: radial-gradient(closest-side, rgba(4,28,55,.45), rgba(4,28,55,0)); filter: blur(6px); transition: transform .9s cubic-bezier(.2,.7,.2,1), opacity .9s; }
.stage:hover .floor-shadow { transform: translateX(-46%) scale(.92); opacity: .75; }
.fan { transition: transform .9s cubic-bezier(.2,.7,.2,1), box-shadow .9s; }
.fan-right { transform: translate(-50%, -54%) rotate(8deg); }
.stage:hover .fan-right { transform: translate(-38%, -56%) rotate(12deg); }

/* Acordeones */
.acc-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.acc-panel[data-open="true"] { grid-template-rows: 1fr; }
.acc-panel > div { overflow: hidden; }
.acc-btn[aria-expanded="true"] .plus-v { transform: scaleY(0); }
.plus-v { transition: transform .2s ease; transform-origin: center; }

input[type=range] { accent-color: #059669; }

@media print {
  #site-header, footer, #buy-bar, .no-print { display: none !important; }
  body { background: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .book-wrap { opacity: 1; }
}

/* El chip «Todas» activo usa el color de texto (se invierte en modo oscuro) */
.chip[data-cat="todas"][aria-pressed="true"] { background: rgb(var(--ink)); border-color: rgb(var(--ink)); color: rgb(var(--paper)) !important; }
.chip[data-cat="todas"][aria-pressed="true"] .chip-n { color: rgb(var(--paper) / .7); }

/* Interés compuesto, la herramienta estrella, destacada en el menú */
.mm-link.mm-destacado { margin: 0 -.6rem .35rem; padding: .6rem .6rem; background: color-mix(in srgb, var(--c) 12%, rgb(var(--surface))); border: 1px solid color-mix(in srgb, var(--c) 40%, transparent); box-shadow: 0 6px 16px -10px color-mix(in srgb, var(--c) 70%, transparent); }
.mm-link.mm-destacado:hover, .mm-link.mm-destacado:focus-visible { background: color-mix(in srgb, var(--c) 20%, rgb(var(--surface))); }
.mm-link.mm-destacado .mm-badge { margin-left: auto; }
.mm-destacado-sub { color: color-mix(in srgb, var(--c) 75%, rgb(var(--ink))); }

/* ── Móvil y tableta: estructura de la web anterior ──
   Herramientas, Guías y Fiscalidad siempre visibles arriba; cada una abre
   una hoja desde abajo con título y botón de cerrar. */
#mm-velo { display: none; }
@media (max-width: 1023px) {
  #site-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgb(var(--surface)); }
  .nav-principal { margin-left: auto; }
  .menu-panel { position: fixed !important; left: 0 !important; right: 0 !important; top: auto !important; bottom: 0; width: auto !important; padding: 0 !important; z-index: 60; transform: translateY(24px); }
  .menu-panel[data-open="true"] { transform: none; }
  .menu-panel .mm-hoja { border-radius: 1.5rem 1.5rem 0 0; border-bottom: 0; max-height: 82vh; overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 -24px 60px -24px rgba(4,28,55,.5); padding-bottom: env(safe-area-inset-bottom, 0px); }
  .mm-hoja-cab { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; background: rgb(var(--surface)); border-bottom: 1px solid rgb(var(--ink-200)); }
  .mm-hoja-cab p { font: 800 1.15rem/1.2 "Plus Jakarta Sans", sans-serif; color: rgb(var(--ink)); letter-spacing: -.01em; }
  .mm-cerrar { width: 2.25rem; height: 2.25rem; border-radius: 999px; display: grid; place-items: center; background: rgb(var(--paper)); color: rgb(var(--ink)); border: 1px solid rgb(var(--ink-200)); font-size: .95rem; }
  .menu-panel .mm-col { padding: 1rem 1.25rem !important; }
  .menu-panel .mm-link { font-size: 15px; padding-top: .55rem; padding-bottom: .55rem; }
  #mm-velo { display: block; position: fixed; inset: 0; z-index: 55; background: rgba(4,28,55,.5); opacity: 0; visibility: hidden; transition: opacity .2s, visibility 0s linear .2s; }
  html.mm-abierto #mm-velo { opacity: 1; visibility: visible; transition: opacity .2s; }
  html.mm-abierto, html.mm-abierto body { overflow: hidden; }
}

/* Aviso de cookies (lo inyecta consentimiento.js con variables del diseño antiguo) */
html .gfi-cookies{background:rgb(var(--surface));border-top:1px solid rgb(var(--ink-200));box-shadow:0 -8px 24px rgba(4,28,55,.14);font-family:inherit}
html .gfi-cookies-in p{color:rgb(var(--ink))}
html .gfi-cookies-rechazar{border:1px solid rgb(var(--ink-300));color:rgb(var(--ink));background:transparent}
html .gfi-cookies-rechazar:hover{background:rgb(var(--paper))}
html .gfi-cookies-aceptar{background:#FBBF24;color:#041C37;font-weight:700;border-radius:100px;padding:9px 20px}
html .gfi-cookies-aceptar:hover{filter:brightness(1.05)}

/* Barra Herramientas · Guías · Fiscalidad en móvil y tableta: letra lo más grande que quepa sin desbordar
   (16 px en pantallas anchas, bajando por tramos en móviles estrechos) */
@media (max-width:1023px){ .nav-principal{font-size:16px} }
/* Tableta (640–1023 px): el nombre junto al logo no cabe con la barra y el botón de compra (se solapaban); queda solo el icono */
@media (min-width:640px) and (max-width:1023px){ #site-header a[href="/"] > span { display: none; } }
/* 640–699 px: ni con el nombre del logo oculto cabe el botón junto a la barra; la compra sigue en la barra fija de abajo */
@media (min-width:640px) and (max-width:699px){ #site-header a[data-compra="papel"][data-origen="cabecera"] { display: none; } }
@media (max-width:429px){
  #site-header > div{padding-left:.75rem;padding-right:.75rem}
  .nav-principal{font-size:15px}
  .nav-principal .nav-trigger{padding-left:.3rem;padding-right:.3rem;gap:.15rem}
  .nav-principal .nav-trigger .chev{width:.8rem;height:.8rem}
}
@media (max-width:389px){ .nav-principal{font-size:14px} }
@media (max-width:349px){
  .nav-principal{font-size:13px}
  .nav-principal .nav-trigger .chev{display:none}
}
/* Red de seguridad: lo decorativo nunca crea scroll horizontal (clip no rompe position:sticky) */
html,body{overflow-x:clip}
main p,main dd,main li,main td{overflow-wrap:break-word}
main a[href^="mailto:"]{overflow-wrap:anywhere}
::selection { background: rgb(16 185 129 / .28); color: inherit; }

/* Portada: halo azul clarito en lugar del verdoso */
.hero-halo { background: #DBEAFE; }
html[data-theme="dark"] .hero-halo { background: #1E3A8A; opacity: .35; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .hero-halo { background: #1E3A8A; opacity: .35; } }

/* Portada móvil: las reseñas se pasan en horizontal, como las páginas del interior */
@media (max-width: 767px) {
  #opinionesCarrusel { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    margin-left: -1rem; margin-right: -1rem; padding: 0 1rem .75rem; margin-top: 2rem; scrollbar-width: none; }
  #opinionesCarrusel::-webkit-scrollbar { display: none; }
  #opinionesCarrusel > * { flex: 0 0 86%; scroll-snap-align: center; }
}

/* Reseñas: frase destacada + reseña completa desplegable */
.resena-det > summary { cursor: pointer; font-size: .875rem; font-weight: 700; color: rgb(var(--brand-700)); list-style: none; display: inline-flex; align-items: center; gap: .35rem; }
.resena-det > summary::-webkit-details-marker { display: none; }
.resena-det > summary::after { content: "+"; font-size: 1.1rem; line-height: 1; }
.resena-det[open] > summary::after { content: "−"; }
.resena-det > p { font-weight: 400; letter-spacing: 0; }
.resena-det > summary:focus-visible { outline: 2px solid rgb(var(--brand-700)); outline-offset: 3px; border-radius: 4px; }

/* Glosario de las herramientas: sin filas cojas (cada fila se llena entera) */
@media (min-width: 900px) {
  body.legado .glossary:has(> .gitem:nth-child(6):last-child),
  body.legado .glossary:has(> .gitem:nth-child(9):last-child) { grid-template-columns: repeat(3, 1fr); }
  body.legado .glossary:has(> .gitem:nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); }
  body.legado .glossary:has(> .gitem:nth-child(10):last-child) { grid-template-columns: repeat(5, 1fr); }
  body.legado .glossary:has(> .gitem:nth-child(7):last-child) { grid-template-columns: repeat(12, 1fr); }
  body.legado .glossary:has(> .gitem:nth-child(7):last-child) > .gitem { grid-column: span 3; }
  body.legado .glossary:has(> .gitem:nth-child(7):last-child) > .gitem:nth-child(n+5) { grid-column: span 4; }
}

.bandera { border-radius: 2px; box-shadow: 0 0 0 1px rgb(0 0 0 / .15); flex: none; }

/* Calculadoras: barra única de números guardados (aviso + restaurar, guardar actual, restablecer, borrar) */
form.calc-datos { position: relative; top: auto; }
.calc-guardado { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: 0 0 1rem; padding: .7rem 1rem; border-radius: 1rem; border: 1px solid rgb(var(--ink-200)); background: rgb(var(--surface)); font-size: .88rem; }
.calc-guardado .cg-ic { display: inline-grid; place-items: center; color: rgb(var(--brand-700)); }
.calc-guardado .cg-nota { flex: 1 1 14rem; color: rgb(var(--ink-700)); transition: color .2s; }
.calc-guardado .cg-nota.on { color: rgb(var(--brand-700)); font-weight: 600; }
.calc-guardado .cg-acc { display: inline-flex; flex-wrap: wrap; gap: .5rem; }
.calc-guardado .cg-btn { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .85rem; border-radius: 999px; border: 1px solid rgb(var(--ink-300)); background: rgb(var(--surface)); color: rgb(var(--ink-700)); font-weight: 600; font-size: .82rem; cursor: pointer; }
.calc-guardado .cg-btn[hidden] { display: none; }
.calc-guardado .cg-btn:hover { border-color: rgb(var(--ink)); color: rgb(var(--ink)); }
.calc-guardado .cg-btn:focus-visible { outline: 2px solid rgb(var(--brand-700)); outline-offset: 2px; }
.calc-guardado .cg-prim { background: #9A6209; border-color: #9A6209; color: #fff; }
.calc-guardado .cg-prim:hover { background: #7C4F07; border-color: #7C4F07; color: #fff; }
.calc-guardado .cg-del:hover { border-color: #B3261E; color: #B3261E; }
body.modo-sencillo .calc-guardado { display: none !important; }
/* El aviso suelto de cada calculadora se sustituye por la barra única */
#guardadoBanner { display: none !important; }
/* Móvil: solo el aviso y Restaurar (como antes); guardar, restablecer y borrar quedan para escritorio */
@media (max-width: 767px) { .calc-guardado .cg-save, .calc-guardado .cg-reset, .calc-guardado .cg-del { display: none; } }
@media print { .calc-guardado { display: none !important; } }

/* ── Interés compuesto: modo Sencilla | Completa ── */
.mS-barra { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.1rem; background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-radius: 1rem; padding: .55rem .7rem; }
.mS-sw { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; padding: 3px; border-radius: 999px; background: rgb(var(--ink-200)); flex: none; }
.mS-sw::before { content: ""; position: absolute; top: 3px; bottom: 3px; left: 3px; width: calc(50% - 3px); border-radius: 999px; background: #041C37; box-shadow: 0 2px 6px rgb(4 28 55 / .25); transition: transform .28s cubic-bezier(.4, 0, .2, 1); }
.mS-sw[data-activo="completa"]::before { transform: translateX(100%); }
.mS-sw button { position: relative; z-index: 1; border: 0; background: transparent; border-radius: 999px; padding: .45rem 1.15rem; font: 700 .85rem "Plus Jakarta Sans", sans-serif; color: rgb(var(--ink-700)); cursor: pointer; transition: color .2s; }
.mS-sw button[aria-pressed="true"] { color: #fff; }
.mS-sw button:focus-visible, .mS-nota a:focus-visible { outline: 2px solid rgb(var(--brand-700)); outline-offset: 2px; }
.mS-nota { flex: 1 1 18rem; font-size: .88rem; line-height: 1.45; color: rgb(var(--ink-700)); }
.mS-nota[hidden] { display: none; }
.mS-nota a { color: rgb(var(--brand-700)); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
html[data-theme="dark"] .mS-sw::before { background: #F8FAFC; box-shadow: 0 2px 6px rgb(0 0 0 / .4); }
html[data-theme="dark"] .mS-sw button[aria-pressed="true"] { color: #041C37; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .mS-sw::before { background: #F8FAFC; box-shadow: 0 2px 6px rgb(0 0 0 / .4); } html:not([data-theme="light"]) .mS-sw button[aria-pressed="true"] { color: #041C37; } }
.mS-vista { display: none; }
body.modo-sencillo .mS-vista { display: grid; gap: 24px; grid-template-columns: minmax(0, .9fr) minmax(0, 2fr); align-items: start; }
body.modo-sencillo form.calc-datos, body.modo-sencillo div.space-y-6.min-w-0, body.modo-sencillo .solo-completa { display: none !important; }
@media (max-width: 980px) { body.modo-sencillo .mS-vista { grid-template-columns: 1fr; } }
.mS-datos { background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-radius: 1.5rem; padding: 1.5rem; }
.mS-datos h2 { font: 800 1.125rem "Plus Jakarta Sans", sans-serif; margin: 0 0 1.25rem; color: rgb(var(--ink)); }
.mS-c { margin-bottom: 1.35rem; }
.mS-fila { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.mS-fila label { font-size: .95rem; color: rgb(var(--ink-700)); }
.mS-in { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid rgb(var(--ink-300)); border-radius: .75rem; padding: .3rem .65rem; background: rgb(var(--surface)); min-width: 7.4rem; justify-content: flex-end; }
.mS-in input { width: 4.6rem; border: 0 !important; box-shadow: none !important; outline: 0; height: auto !important; margin: 0 !important; padding: 0 !important; text-align: right; font: 700 1rem "Plus Jakarta Sans", sans-serif; background: transparent !important; color: rgb(var(--ink)); }
.mS-in i { font-style: normal; color: rgb(var(--ink-500)); font-size: .9rem; }
.mS-in:focus-within { border-color: rgb(var(--brand-700)); box-shadow: 0 0 0 3px rgb(16 185 129 / .2); }
.mS-r { width: 100%; margin-top: .7rem; }
.mS-ej { display: flex; flex-wrap: wrap; gap: .5rem; border-top: 1px solid rgb(var(--ink-200)); padding-top: 1rem; align-items: center; }
.mS-ej span { font-size: .8rem; color: rgb(var(--ink-500)); width: 100%; }
.mS-ej button { border: 1px solid rgb(var(--ink-300)); background: rgb(var(--surface)); border-radius: .6rem; padding: .4rem .7rem; font: 600 .82rem "Plus Jakarta Sans", sans-serif; color: rgb(var(--ink-700)); cursor: pointer; }
.mS-ej button:hover { border-color: rgb(var(--ink)); color: rgb(var(--ink)); }
.mS-res { display: grid; gap: 20px; min-width: 0; }
.mS-res { container-type: inline-size; }
.mS-cifras { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@container (min-width: 520px) { .mS-cifras { grid-template-columns: repeat(4, 1fr); gap: 12px; } }
.mS-k { background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-radius: 1.25rem; padding: 1.1rem 1rem 1.15rem; container-type: inline-size; display: flex; flex-direction: column; justify-content: space-between; gap: .5rem; }
.mS-k p { font-size: .95rem; color: rgb(var(--ink-500)); margin: 0; line-height: 1.3; }
.mS-k b { display: block; font: 800 var(--mS-fs, clamp(.95rem, 13cqi, 2.9rem)) "Plus Jakarta Sans", sans-serif; letter-spacing: -.03em; line-height: 1.05; color: rgb(var(--ink)); font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.mS-k b .c { font-size: .72em; font-weight: 700; opacity: .75; margin-left: .2em; }
.mS-k b .c:first-child { margin: 0 .18em 0 0; }
.mS-k.dark { background: #041C37; border-color: #041C37; } .mS-k.dark p { color: #C3CEDE; } .mS-k.dark b { color: #fff; }
.mS-k.verde { background: #ECFDF5; border-color: #BBF7D0; } .mS-k.verde b { color: #047857; }
.mS-graf { background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-radius: 1.5rem; padding: 1.5rem; }
.mS-gh { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; align-items: center; }
.mS-gh h2 { font: 800 1.15rem "Plus Jakarta Sans", sans-serif; margin: 0; color: rgb(var(--ink)); }
.mS-leyenda { font-size: .9rem; color: rgb(var(--ink-700)); display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1rem; }
.mS-leyenda .it { display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; }
.mS-leyenda .sq { display: inline-block; width: 12px; height: 12px; border-radius: 3px; } .mS-leyenda .sq.a { background: #CBD5E1; } .mS-leyenda .sq.m { background: #10B981; }
#sChartBox { margin-top: .75rem; } #sChart { display: block; max-width: 100%; }
#sChart text { font: 12px "Plus Jakarta Sans", sans-serif; fill: rgb(var(--ink-500)); }
#sChart text.tr { fill: rgb(var(--ink-700)); }
#sChart .gl { stroke: rgb(var(--ink-500)); stroke-opacity: .18; }
#sChart .re { stroke: rgb(var(--ink)); }
.mS-frase { margin: 1rem 0 0; background: #ECFDF5; border: 1px solid #BBF7D0; border-radius: 1rem; padding: 1rem 1.25rem; color: #064E3B; line-height: 1.55; }
.mS-frase[hidden] { display: none; }
.mS-tabla { background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-radius: 1.25rem; padding: 0 1.5rem; }
.mS-tabla summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; padding: 1.1rem 0; font: 700 1rem "Plus Jakarta Sans", sans-serif; color: rgb(var(--ink)); }
.mS-tabla summary::-webkit-details-marker { display: none; }
.mS-tabla[open] summary span { transform: rotate(45deg); }
.mS-tw { max-height: 22rem; overflow: auto; padding-bottom: 1rem; }
.mS-tw table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: .9rem; }
.mS-tw th, .mS-tw td { text-align: right; padding: .45rem .5rem; border-bottom: 1px solid rgb(var(--ink-200)); color: rgb(var(--ink-700)); }
.mS-tw th:first-child, .mS-tw td:first-child { text-align: left; }
.mS-tw th { position: sticky; top: 0; background: rgb(var(--surface)); color: rgb(var(--ink-500)); font-weight: 600; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .mS-frase, html:not([data-theme="light"]) .mS-k.verde { background: #052E22; border-color: #065F46; color: #A7F3D0; } html:not([data-theme="light"]) .mS-k.verde b { color: #6EE7B7; } }
html[data-theme="dark"] .mS-frase, html[data-theme="dark"] .mS-k.verde { background: #052E22; border-color: #065F46; color: #A7F3D0; }
html[data-theme="dark"] .mS-k.verde b { color: #6EE7B7; }
/* ── Impresión (Interés compuesto): el interruptor no se imprime; en modo Sencilla se imprime SU vista
   (la completa está oculta en pantalla) en A4 vertical, siempre en claro y sin tarjetas oscuras ── */
@page sen { size: A4 portrait; margin: 12mm; }
@media print {
  .mS-barra, .mS-reset, .mS-ej span, .mS-ej button, .mS-r, .mS-esc { display: none !important; }
  /* Papel siempre claro, aunque la pantalla esté en modo oscuro */
  :root, :root[data-theme="dark"], :root:not([data-theme="light"]) {
    --ink: 4 28 55 !important; --ink-800: 30 41 59 !important; --ink-700: 51 65 85 !important; --ink-500: 100 116 139 !important;
    --ink-300: 203 213 225 !important; --ink-200: 226 232 240 !important; --paper: 255 255 255 !important; --surface: 255 255 255 !important;
    --brand-50: 236 253 245 !important; --brand-100: 209 250 229 !important; --brand-700: 4 120 87 !important; --brand-800: 6 95 70 !important; --brand-900: 6 78 59 !important;
    color-scheme: light !important;
  }
  html body main.paleta-ic { --aporte: #2563EB !important; --real: #D97706 !important; --merc: #059669 !important; }
  body.modo-sencillo main { page: sen; }
  body.modo-sencillo .calc-cab nav, body.modo-sencillo .calc-cab .mt-7 { display: none !important; }
  body.modo-sencillo .calc-cab > div { padding-top: 0 !important; padding-bottom: .6rem !important; }
  body.modo-sencillo .calc-cab h1 { font-size: 26pt !important; margin-top: 0 !important; }
  body.modo-sencillo .calc-cab p { font-size: 11pt !important; margin-top: .3rem !important; }
  body.modo-sencillo main > section:nth-of-type(2) { padding-top: .5rem !important; padding-bottom: 0 !important; }
  body.modo-sencillo main > section:nth-of-type(n+4) { display: none !important; }
  body.modo-sencillo .mS-vista { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; }
  body.modo-sencillo .mS-res { gap: 14px; }
  body.modo-sencillo .mS-datos, body.modo-sencillo .mS-graf, body.modo-sencillo .mS-k, body.modo-sencillo .mS-frase, body.modo-sencillo .mS-tabla { break-inside: avoid; box-shadow: none !important; background: #fff !important; }
  body.modo-sencillo .mS-datos { padding: .8rem 1rem; border-color: #94A3B8; }
  body.modo-sencillo .mS-datos form, body.modo-sencillo form.mS-datos { display: grid; grid-template-columns: 1fr 1fr; gap: .2rem 2rem; }
  body.modo-sencillo .mS-dh, body.modo-sencillo .mS-ej { grid-column: 1 / -1; }
  body.modo-sencillo .mS-dh { margin-bottom: .4rem; }
  body.modo-sencillo .mS-c { margin: 0 0 .5rem; }
  body.modo-sencillo .mS-ej { border: 0; padding: 0; }
  body.modo-sencillo .mS-in { min-width: 0; border-color: #94A3B8; background: #fff; }
  body.modo-sencillo .mS-in input { color: #041C37 !important; -webkit-text-fill-color: #041C37 !important; opacity: 1 !important; }
  body.modo-sencillo .mS-in i { color: #475569 !important; }
  body.modo-sencillo .mS-cifras { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; --mS-fs: clamp(12pt, 9cqi, 22pt) !important; }
  body.modo-sencillo .mS-k { padding: .7rem .9rem; border: 1px solid #94A3B8 !important; }
  body.modo-sencillo .mS-k.dark { border: 2px solid #041C37 !important; }
  body.modo-sencillo .mS-k p, body.modo-sencillo .mS-k.azul p, body.modo-sencillo .mS-k.verde p, body.modo-sencillo .mS-k.ambar p, body.modo-sencillo .mS-k.dark p { color: #334155 !important; font-size: 9.5pt; }
  body.modo-sencillo .mS-k b, body.modo-sencillo .mS-k.dark b { color: #041C37 !important; }
  body.modo-sencillo .mS-k.azul b { color: #1E4FD8 !important; } body.modo-sencillo .mS-k.verde b { color: #047857 !important; } body.modo-sencillo .mS-k.ambar b { color: #B45309 !important; }
  body.modo-sencillo .mS-graf { padding: .8rem 1rem; border-color: #94A3B8; }
  body.modo-sencillo .mS-leyenda, body.modo-sencillo .mS-gh h2 { color: #334155; }
  body.modo-sencillo .mS-leyenda .sq, body.modo-sencillo #sChart { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.modo-sencillo #sChart { width: 100%; height: auto; }
  body.modo-sencillo #sChart text { fill: #475569 !important; } body.modo-sencillo #sChart text.tr { fill: #B45309 !important; }
  body.modo-sencillo #sChart .re { stroke: #D97706 !important; } body.modo-sencillo #sChart .gl { stroke: #64748B !important; }
  body.modo-sencillo .mS-frase { background: #fff !important; border: 1px solid #10B981 !important; color: #064E3B !important; padding: .6rem .9rem; margin-top: .6rem; font-size: 10pt; }
  /* Tabla año a año: se despliega sola (ver beforeprint) y empieza en la hoja 2 */
  body.modo-sencillo .mS-tabla { break-before: page; border-color: #94A3B8; padding: 0 1rem; }
  body.modo-sencillo .mS-tabla summary { padding: .6rem 0; } body.modo-sencillo .mS-tabla summary span { display: none; }
  body.modo-sencillo .mS-tw { max-height: none !important; overflow: visible !important; padding-bottom: .5rem; }
  body.modo-sencillo .mS-tw table { font-size: 9pt; } body.modo-sencillo .mS-tw th, body.modo-sencillo .mS-tw td { padding: .25rem .5rem; color: #1E293B; }
  body.modo-sencillo .mS-tw th { position: static; background: #fff; color: #475569; }
  body.modo-sencillo .mS-tw tr { break-inside: avoid; }
  /* Modo Completa: mismas tarjetas claras aunque la pantalla sea oscura */
  .paleta-ic .stat.aport { background: #fff !important; border-color: #C5D8FA !important; } .paleta-ic .stat.aport .v { color: #1E4FD8 !important; } .paleta-ic .stat.aport .k { color: #4A6FB5 !important; }
  .paleta-ic .stat.gan { background: #fff !important; border-color: #B5E8CE !important; } .paleta-ic .stat.gan .v { color: #047857 !important; } .paleta-ic .stat.gan .k { color: #3F8A68 !important; }
  .paleta-ic .stat.real { background: #fff !important; border-color: #F5D69A !important; } .paleta-ic .stat.real .v { color: #B45309 !important; } .paleta-ic .stat.real .k { color: #A0722A !important; }
  .paleta-ic .f .rangeval { color: #1E4FD8 !important; }
}

.mS-dh { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.25rem; }
.mS-dh h2 { margin: 0 !important; }
.mS-reset { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .8rem; border-radius: 999px; border: 1px solid rgb(var(--ink-300)); background: rgb(var(--surface)); color: rgb(var(--ink-700)); font: 600 .8rem "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.mS-reset:hover { border-color: rgb(var(--ink)); color: rgb(var(--ink)); }
.mS-reset:focus-visible { outline: 2px solid rgb(var(--brand-700)); outline-offset: 2px; }
@media (max-width: 767px) { .mS-reset { display: none; } }
.mS-ej button[aria-pressed="true"] { border-color: #059669; background: #ECFDF5; color: #047857; }
.mS-ej-info { width: 100%; margin: .25rem 0 0; font-size: .8rem; color: rgb(var(--ink-500)); }
.mS-ej-info[hidden] { display: none; }
html[data-theme="dark"] .mS-ej button[aria-pressed="true"] { background: #052E22; color: #6EE7B7; border-color: #34D399; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .mS-ej button[aria-pressed="true"] { background: #052E22; color: #6EE7B7; border-color: #34D399; } }

/* Efecto al cambiar un resultado (ver herramientas.js): destello de la tarjeta + «pop» del número */
@keyframes cdhSube { 0% { box-shadow: 0 0 0 0 rgb(16 185 129 / .55); } 100% { box-shadow: 0 0 0 16px rgb(16 185 129 / 0); } }
@keyframes cdhBaja { 0% { box-shadow: 0 0 0 0 rgb(245 158 11 / .55); } 100% { box-shadow: 0 0 0 16px rgb(245 158 11 / 0); } }
@keyframes cdhPop { 0% { transform: scale(1.06); } 100% { transform: scale(1); } }
.cdh-sube { animation: cdhSube .8s ease-out; } .cdh-baja { animation: cdhBaja .8s ease-out; }
.cdh-pop { display: inline-block; transform-origin: left center; animation: cdhPop .45s cubic-bezier(.2, .9, .3, 1.3); }
.mS-k b.cdh-pop { display: block; }
@media (prefers-reduced-motion: reduce) { .cdh-sube, .cdh-baja, .cdh-pop { animation: none; } }

.mS-esc { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; margin-top: .8rem; }
.mS-esc button { display: flex; flex-direction: column; align-items: center; gap: .1rem; border: 1px solid rgb(var(--ink-300)); background: rgb(var(--surface)); border-radius: .7rem; padding: .4rem .3rem; font-family: "Plus Jakarta Sans", sans-serif; color: rgb(var(--ink-700)); cursor: pointer; }
.mS-esc button span { font-size: .72rem; font-weight: 600; } .mS-esc button b { font-size: .95rem; font-weight: 800; letter-spacing: -.01em; }
.mS-esc button:hover { border-color: rgb(var(--ink)); color: rgb(var(--ink)); }
.mS-esc button:focus-visible { outline: 2px solid rgb(var(--brand-700)); outline-offset: 2px; }
.mS-esc button[aria-pressed="true"] { border-color: #059669; background: #ECFDF5; color: #047857; }
html[data-theme="dark"] .mS-esc button[aria-pressed="true"] { background: #052E22; color: #6EE7B7; border-color: #34D399; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .mS-esc button[aria-pressed="true"] { background: #052E22; color: #6EE7B7; border-color: #34D399; } }

/* ── Paleta de la sencilla: azul = lo que pones tú · verde = el mercado · ámbar = euros de hoy · violeta = años ── */
.mS-c.az { --c: #2563EB; } .mS-c.vi { --c: #7C3AED; } .mS-c.ve { --c: #059669; }
.mS-fila label::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c); margin-right: .55rem; vertical-align: .08em; }
.mS-c:focus-within .mS-in { border-color: var(--c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 22%, transparent); }
.mS-r { background: linear-gradient(to right, var(--c) 0%, var(--c) var(--val, 50%), rgb(var(--ink-200)) var(--val, 50%), rgb(var(--ink-200)) 100%) !important; }
.mS-r::-webkit-slider-thumb { border-color: var(--c) !important; }
.mS-r:active::-webkit-slider-thumb { box-shadow: 0 0 0 8px color-mix(in srgb, var(--c) 18%, transparent) !important; }
.mS-r::-moz-range-progress { background: var(--c) !important; } .mS-r::-moz-range-thumb { border-color: var(--c) !important; }
.mS-k.azul { background: #EFF6FF; border-color: #BFDBFE; } .mS-k.azul b { color: #1D4ED8; }
.mS-k.ambar { background: #FFFBEB; border-color: #FDE68A; } .mS-k.ambar b { color: #B45309; }
.mS-leyenda .sq.a { background: #3B82F6; }
.mS-leyenda .sq.r { background: transparent; border-top: 2px dashed #D97706; height: 0; border-radius: 0; width: 14px; align-self: center; }
#sChart .re { stroke: #D97706; } #sChart text.tr { fill: #B45309; }
.mS-esc button.pes[aria-pressed="true"] { border-color: #D97706; background: #FFFBEB; color: #B45309; }
.mS-esc button.opt[aria-pressed="true"] { border-color: #2563EB; background: #EFF6FF; color: #1D4ED8; }
.mS-ej button[aria-pressed="true"] { border-color: #041C37; background: #EEF2F7; color: #041C37; }
.mS-frase { background: linear-gradient(90deg, #ECFDF5, #EFF6FF); border-color: #BFE9D6; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .mS-k.azul { background: #0B1B3A; border-color: #1E3A8A; } html:not([data-theme="light"]) .mS-k.azul b { color: #93C5FD; }
  html:not([data-theme="light"]) .mS-k.ambar { background: #2A1B05; border-color: #78350F; } html:not([data-theme="light"]) .mS-k.ambar b { color: #FCD34D; }
  html:not([data-theme="light"]) .mS-esc button.pes[aria-pressed="true"] { background: #2A1B05; color: #FCD34D; border-color: #F59E0B; }
  html:not([data-theme="light"]) .mS-esc button.opt[aria-pressed="true"] { background: #0B1B3A; color: #93C5FD; border-color: #60A5FA; }
  html:not([data-theme="light"]) .mS-ej button[aria-pressed="true"] { background: #1B2C45; color: #F8FAFC; border-color: #CBD5E1; }
  html:not([data-theme="light"]) #sChart .re { stroke: #FBBF24; } html:not([data-theme="light"]) #sChart text.tr { fill: #FCD34D; }
  html:not([data-theme="light"]) .mS-frase { background: linear-gradient(90deg, #052E22, #0B1B3A); border-color: #1E4D3E; }
}
html[data-theme="dark"] .mS-k.azul { background: #0B1B3A; border-color: #1E3A8A; } html[data-theme="dark"] .mS-k.azul b { color: #93C5FD; }
html[data-theme="dark"] .mS-k.ambar { background: #2A1B05; border-color: #78350F; } html[data-theme="dark"] .mS-k.ambar b { color: #FCD34D; }
html[data-theme="dark"] .mS-esc button.pes[aria-pressed="true"] { background: #2A1B05; color: #FCD34D; border-color: #F59E0B; }
html[data-theme="dark"] .mS-esc button.opt[aria-pressed="true"] { background: #0B1B3A; color: #93C5FD; border-color: #60A5FA; }
html[data-theme="dark"] .mS-ej button[aria-pressed="true"] { background: #1B2C45; color: #F8FAFC; border-color: #CBD5E1; }
html[data-theme="dark"] #sChart .re { stroke: #FBBF24; } html[data-theme="dark"] #sChart text.tr { fill: #FCD34D; }
html[data-theme="dark"] .mS-frase { background: linear-gradient(90deg, #052E22, #0B1B3A); border-color: #1E4D3E; }

/* ── Afinado de color de la sencilla: tintes de la misma intensidad, un poco de profundidad ── */
.mS-k.dark { background: linear-gradient(135deg, #0B2A4F, #041C37); }
.mS-k.azul { background: linear-gradient(135deg, #F8FAFF, #E8F0FF); border-color: #C5D8FA; }
.mS-k.verde { background: linear-gradient(135deg, #F4FDF9, #E5F8EE); border-color: #B5E8CE; }
.mS-k.ambar { background: linear-gradient(135deg, #FFFBF2, #FFF0D6); border-color: #F5D69A; }
.mS-k.azul b { color: #1E4FD8; } .mS-k.verde b { color: #047857; } .mS-k.ambar b { color: #B45309; }
.mS-k.azul p { color: #4A6FB5; } .mS-k.verde p { color: #3F8A68; } .mS-k.ambar p { color: #A0722A; }
.mS-k b .c { opacity: .85; }
.mS-esc button.pes b { color: #B45309; } .mS-esc button.mod b { color: #047857; } .mS-esc button.opt b { color: #1E4FD8; }
.mS-esc button[aria-pressed="true"] span { font-weight: 700; }
.mS-esc button[aria-pressed="true"] { box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 12%, transparent); }
.mS-frase { background: linear-gradient(90deg, #EAFAF2, #EBF2FF); border-color: #C3E8D6; }
.mS-graf, .mS-datos { box-shadow: 0 1px 2px rgb(4 28 55 / .04); }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .mS-k.dark { background: linear-gradient(135deg, #0B2A4F, #041C37); }
  html:not([data-theme="light"]) .mS-k.azul p { color: #93B4F0; } html:not([data-theme="light"]) .mS-k.verde p { color: #7FD0A9; } html:not([data-theme="light"]) .mS-k.ambar p { color: #D9B26B; }
  html:not([data-theme="light"]) .mS-esc button.pes b { color: #FCD34D; } html:not([data-theme="light"]) .mS-esc button.mod b { color: #6EE7B7; } html:not([data-theme="light"]) .mS-esc button.opt b { color: #93C5FD; }
}
html[data-theme="dark"] .mS-k.azul p { color: #93B4F0; } html[data-theme="dark"] .mS-k.verde p { color: #7FD0A9; } html[data-theme="dark"] .mS-k.ambar p { color: #D9B26B; }
html[data-theme="dark"] .mS-esc button.pes b { color: #FCD34D; } html[data-theme="dark"] .mS-esc button.mod b { color: #6EE7B7; } html[data-theme="dark"] .mS-esc button.opt b { color: #93C5FD; }

/* ── Interés compuesto (completa): misma paleta que la sencilla ── azul = lo que pones tú · verde = mercado · ámbar = euros de hoy */
main.paleta-ic { --aporte: #2563EB; --real: #D97706; --merc: #059669; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) main.paleta-ic { --aporte: #60A5FA; --real: #FBBF24; --merc: #34D399; } }
html[data-theme="dark"] main.paleta-ic { --aporte: #60A5FA; --real: #FBBF24; --merc: #34D399; }
.paleta-ic .f .rangeval { color: #1E4FD8; }
.paleta-ic .note { border-left-color: #3B82F6; }
.paleta-ic .stat.big { background: linear-gradient(135deg, #0B2A4F, #041C37); }
.paleta-ic .stat.aport { background: linear-gradient(135deg, #F8FAFF, #E8F0FF); border-color: #C5D8FA; } .paleta-ic .stat.aport .v { color: #1E4FD8; } .paleta-ic .stat.aport .k { color: #4A6FB5; }
.paleta-ic .stat.gan { background: linear-gradient(135deg, #F4FDF9, #E5F8EE); border-color: #B5E8CE; } .paleta-ic .stat.gan .v { color: #047857; } .paleta-ic .stat.gan .k { color: #3F8A68; }
.paleta-ic .stat.real { background: linear-gradient(135deg, #FFFBF2, #FFF0D6); border-color: #F5D69A; } .paleta-ic .stat.real .v { color: #B45309; } .paleta-ic .stat.real .k { color: #A0722A; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .paleta-ic .f .rangeval { color: #93C5FD; }
  html:not([data-theme="light"]) .paleta-ic .stat.aport { background: #0B1B3A; border-color: #1E3A8A; } html:not([data-theme="light"]) .paleta-ic .stat.aport .v { color: #93C5FD; } html:not([data-theme="light"]) .paleta-ic .stat.aport .k { color: #93B4F0; }
  html:not([data-theme="light"]) .paleta-ic .stat.gan { background: #052E22; border-color: #065F46; } html:not([data-theme="light"]) .paleta-ic .stat.gan .v { color: #6EE7B7; } html:not([data-theme="light"]) .paleta-ic .stat.gan .k { color: #7FD0A9; }
  html:not([data-theme="light"]) .paleta-ic .stat.real { background: #2A1B05; border-color: #78350F; } html:not([data-theme="light"]) .paleta-ic .stat.real .v { color: #FCD34D; } html:not([data-theme="light"]) .paleta-ic .stat.real .k { color: #D9B26B; }
}
html[data-theme="dark"] .paleta-ic .f .rangeval { color: #93C5FD; }
html[data-theme="dark"] .paleta-ic .stat.aport { background: #0B1B3A; border-color: #1E3A8A; } html[data-theme="dark"] .paleta-ic .stat.aport .v { color: #93C5FD; } html[data-theme="dark"] .paleta-ic .stat.aport .k { color: #93B4F0; }
html[data-theme="dark"] .paleta-ic .stat.gan { background: #052E22; border-color: #065F46; } html[data-theme="dark"] .paleta-ic .stat.gan .v { color: #6EE7B7; } html[data-theme="dark"] .paleta-ic .stat.gan .k { color: #7FD0A9; }
html[data-theme="dark"] .paleta-ic .stat.real { background: #2A1B05; border-color: #78350F; } html[data-theme="dark"] .paleta-ic .stat.real .v { color: #FCD34D; } html[data-theme="dark"] .paleta-ic .stat.real .k { color: #D9B26B; }

/* La tarjeta principal (Valor futuro / Future value) lleva siempre texto claro sobre su fondo marino, también si la página no trae la clase calc-cifra-principal (versión inglesa) */
.paleta-ic .stat.big .k { color: #C3CEDE; }
.paleta-ic .stat.big .v { color: #FFFFFF; }

/* Modo oscuro: algunas páginas traen una regla heredada «button {color: claro !important}» que dejaba el texto del botón activo del interruptor (píldora clara) invisible */
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .mS-sw button[aria-pressed="true"] { color: #041C37 !important; } }
html[data-theme="dark"] .mS-sw button[aria-pressed="true"] { color: #041C37 !important; }

/* Icono de tipo en las fichas (calculadora, simulador, comparador…) */
.tool-card .t-ico { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .6rem; flex: none;
  background: color-mix(in srgb, var(--c) 12%, rgb(var(--surface))); color: color-mix(in srgb, var(--c) 65%, rgb(var(--ink))); }
.tool-card .t-ico svg { width: 1.15rem; height: 1.15rem; }

/* ── Revisión estética oct 2026 ─────────────────────────────────────── */
/* Modo oscuro: las páginas antiguas fijan verdes, rojos y grises oscuros
   pensados para fondo claro (--barato, --pos, --neg, --cmp); en oscuro se aclaran. */
html[data-theme="dark"] body.legado { --barato: #34D399; --pos: #4ADE80; --neg: #F87171; --cmp: #A9BCD3; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) body.legado { --barato: #34D399; --pos: #4ADE80; --neg: #F87171; --cmp: #A9BCD3; } }
html[data-theme="dark"] .mf-viaje-nodo, html[data-theme="dark"] .mf-momento--no { --nc: #34D399; --mc: #34D399; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .mf-viaje-nodo, html:not([data-theme="light"]) .mf-momento--no { --nc: #34D399; --mc: #34D399; } }
html[data-theme="dark"] .mf-viaje-nodo--si, html[data-theme="dark"] .mf-momento--si { --nc: #FBBF24; --mc: #FBBF24; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .mf-viaje-nodo--si, html:not([data-theme="light"]) .mf-momento--si { --nc: #FBBF24; --mc: #FBBF24; } }
/* Etiquetas «Capítulo N» y fechas sobre beige: un punto más oscuras para leerse bien */
html[data-theme="light"] body.legado .cap, html[data-theme="light"] body.legado .tl .date { color: color-mix(in srgb, var(--verde-osc) 78%, #000); }
@media (prefers-color-scheme: light) { html:not([data-theme="dark"]) body.legado .cap, html:not([data-theme="dark"]) body.legado .tl .date { color: color-mix(in srgb, var(--verde-osc) 78%, #000); } }
/* Pastilla «Top» del menú: texto marino sobre el verde (el blanco no se leía) */
.mm-badge { color: #041C37; }
/* Pasos numerados de la portada: en oscuro el círculo marino se perdía en el fondo */
html[data-theme="dark"] .paso-n { background: #1B3357; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35); }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .paso-n { background: #1B3357; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35); } }
/* Cifras de las fichas: algo más de contraste */
.tool-card .t-big { color: color-mix(in srgb, var(--c) 55%, rgb(var(--ink))); }
/* Móvil: zonas táctiles de al menos ~40 px */
@media (max-width: 767px) {
  button[data-modo] { min-height: 40px; }
  body.legado main a.gl-link { display: inline-block; padding: 10px 0; }
}
/* Herencia en móvil: las dos tablas (3 y 2 columnas) caben sin deslizar */
@media (max-width: 640px) {
  html[data-cat="herencia"] .tw table[style*="min-width"], html[data-cat="herencia"] .table-scroll table[style*="min-width"] { min-width: 0 !important; }
}
/* Mapa fiscal, modo claro: el ámbar de «Aquí nace la ganancia» un punto más oscuro (contraste ≥ 4,5) */
html[data-theme="light"] .mf-viaje-nodo--si, html[data-theme="light"] .mf-momento--si { --nc: #A8550A; --mc: #A8550A; }
@media (prefers-color-scheme: light) { html:not([data-theme="dark"]) .mf-viaje-nodo--si, html:not([data-theme="dark"]) .mf-momento--si { --nc: #A8550A; --mc: #A8550A; } }
/* Interés compuesto, versión completa: los resultados en cuatro bloques con su pregunta */
.calc-bloque-h { margin-top: 8px; }
.calc-bloque-h h2 { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: rgb(var(--ink)); margin: 0; }
.calc-bloque-h p { margin: 4px 0 0; font-size: 15px; color: rgb(var(--ink-500)); }
.calc-resumen { margin: -8px 0 0; font-size: 15px; color: rgb(var(--ink-700)); }
.calc-resumen b { color: rgb(var(--ink)); }
.calc-sub-h { font-size: 18px; font-weight: 700; color: rgb(var(--ink)); margin: 22px 0 10px; }
@media (max-width: 640px) { .calc-bloque-h h2 { font-size: 22px; } }

/* El «+» de los bloques que se despliegan (p. ej. «Año a año, sin resumir»): un botón visible, no un signo suelto */
.calc-plegable > summary .calc-mas { display: inline-grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 999px; background: #dc2626; color: #fff; font-size: 1.6rem; font-weight: 700; line-height: 1; box-shadow: 0 6px 14px -6px rgb(220 38 38 / .6); transition: transform .2s, background-color .15s; }
.calc-plegable > summary:hover .calc-mas { background: #b91c1c; }
.calc-plegable > summary:focus-visible { outline: 2px solid rgb(var(--brand-700)); outline-offset: 4px; border-radius: .75rem; }
.calc-plegable > summary .calc-h { color: rgb(var(--ink)); }
html[data-theme="dark"] .calc-plegable > summary .calc-mas { color: #fff; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .calc-plegable > summary .calc-mas { color: #fff; } }
/* Datos de entrada: cada campo con su altura, sin estirarse hasta la del vecino (p. ej. junto al horizonte) */
.calc-datos .controls { align-items: start; }

.calc-plegable > summary .calc-mas-txt { font-size: 13px; font-weight: 700; color: #dc2626; white-space: nowrap; margin-left: auto; margin-right: .75rem; }
@media (max-width: 640px) { .calc-plegable > summary .calc-mas-txt { display: none; } }
.calc-plegable[open] > summary .calc-mas-txt { display: none; }

/* Simulador de carteras: las dos carteras lado a lado, tablas de peor día y secuencia */
.sc-dos { display: grid; gap: 14px; }
@media (min-width: 900px) { .sc-dos { grid-template-columns: 1fr 1fr; } }
.sc-cart { border: 1px solid rgb(var(--ink-200)); border-radius: 14px; padding: 14px 16px; background: rgb(var(--paper)); }
.sc-cart label { display: flex; align-items: center; gap: 8px; }
.sc-tag { display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 6px; color: #fff; font-size: .75rem; font-weight: 800; margin-right: 8px; flex: none; vertical-align: middle; }
.sc-sub { margin-top: 4px; font-size: 13px; color: rgb(var(--ink-500)); }
.sc-sw-apo { background: repeating-linear-gradient(90deg, #94A3B8 0 3px, transparent 3px 6px) !important; }
.sc-tabla { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: .92rem; }
.sc-tabla th { text-align: right; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: rgb(var(--ink-500)); font-weight: 700; padding: 8px; border-bottom: 1px solid rgb(var(--ink-200)); }
.sc-tabla td { text-align: right; padding: 12px 8px; border-bottom: 1px solid rgb(var(--ink-200)); color: rgb(var(--ink)); white-space: nowrap; }
.sc-tabla th:first-child, .sc-tabla td:first-child { text-align: left; font-weight: 700; }
.sc-tabla td.sc-mal { color: #B3261E; font-weight: 700; }
html[data-theme="dark"] .sc-tabla td.sc-mal { color: #F2A196; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .sc-tabla td.sc-mal { color: #F2A196; } }
.sc-pregunta { margin: 16px 0 0; padding: 12px 14px; border-radius: 12px; background: rgb(var(--paper)); border: 1px solid rgb(var(--ink-200)); font-size: 15px; color: rgb(var(--ink-700)); }
.sc-pregunta b { color: #B3261E; }
.sc-vuelta { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 8px; }
@media (min-width: 700px) { .sc-vuelta { grid-template-columns: repeat(3, 1fr); } }
.sc-vuelta li { border: 1px solid rgb(var(--ink-200)); border-radius: 12px; padding: 12px 14px; display: grid; gap: 2px; }
.sc-vuelta b { color: rgb(var(--ink)); }
.sc-vuelta span { font-size: 1.3rem; font-weight: 800; color: #B3261E; font-variant-numeric: tabular-nums; }
.sc-vuelta em { font-style: normal; font-size: 13.5px; color: rgb(var(--ink-700)); }

/* Reparto de tu cartera: caída según el libro, qué movería el número, escalera del plazo */
.rc-caida-sub { margin: 6px 0 0; font-size: 13.5px; color: rgb(var(--ink-500)); text-align: right; }
.rc-caida-sub b { color: #B3261E; }
.rc-mover { margin-top: 14px; padding: 14px 16px; border-radius: 12px; border: 1px dashed rgb(var(--ink-300)); }
.rc-mover ul { margin: 6px 0 0; padding-left: 1.1rem; display: grid; gap: 6px; font-size: 15px; color: rgb(var(--ink-700)); }
.rc-mover ul:empty { display: none; }
.rc-esc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
@media (min-width: 900px) { .rc-esc { grid-template-columns: repeat(6, 1fr); } }
.rc-p { border: 1px solid rgb(var(--ink-200)); border-radius: 12px; padding: 10px 12px; display: grid; gap: 2px; }
.rc-p b { font-size: 1.15rem; color: rgb(var(--ink)); font-variant-numeric: tabular-nums; }
.rc-p span { font-size: 12.5px; color: rgb(var(--ink-500)); }
.rc-p.on { border-color: rgb(var(--brand-700)); box-shadow: inset 0 0 0 1px rgb(var(--brand-700)); background: rgb(var(--brand-700) / .07); }
.rc-p.on b { color: rgb(var(--brand-700)); }
.rc-nec { margin: 0 0 6px; font-size: 14.5px; color: rgb(var(--ink-700)); }
.rc-nec b { color: rgb(var(--ink)); }
.rc-mover .pq-k { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgb(var(--ink-700)); }

/* Ruta FIRE: cuatro herramientas como pasos de un mismo camino */
.fire-ruta { border: 1px solid rgb(var(--ink-200)); border-radius: 18px; background: rgb(var(--surface)); padding: 14px 16px 16px; }
.fire-ruta .fr-cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin-bottom: 10px; }
.fire-ruta .fr-k { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgb(var(--ink-700)); }
.fire-ruta .fr-nota { font-size: 13px; color: rgb(var(--ink-500)); }
.fire-ruta ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); counter-reset: none; }
@media (min-width: 900px) { .fire-ruta ol { grid-template-columns: repeat(var(--fr-n, 4), minmax(0, 1fr)); } }
.fire-ruta li { margin: 0; min-width: 0; }
.fire-ruta .fr-paso { display: flex; gap: 10px; align-items: flex-start; height: 100%; padding: 10px 12px; border-radius: 12px; border: 1px solid rgb(var(--ink-200)); text-decoration: none; color: rgb(var(--ink)); background: rgb(var(--paper)); transition: border-color .15s, background-color .15s; }
.fire-ruta a.fr-paso:hover { border-color: rgb(var(--brand-700)); background: rgb(var(--brand-700) / .05); }
.fire-ruta a.fr-paso:focus-visible { outline: 2px solid rgb(var(--brand-700)); outline-offset: 2px; }
.fire-ruta .fr-n { flex: none; display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 999px; font-size: .8rem; font-weight: 800; background: rgb(var(--ink-200)); color: rgb(var(--ink)); }
.fire-ruta .fr-t { font-size: 14px; font-weight: 700; line-height: 1.25; min-width: 0; }
.fire-ruta .fr-t small { display: block; font-size: 12.5px; font-weight: 500; color: rgb(var(--ink-500)); margin-top: 2px; }
.fire-ruta .fr-actual { border-color: rgb(var(--brand-700)); box-shadow: inset 0 0 0 1px rgb(var(--brand-700)); background: rgb(var(--brand-700) / .07); }
.fire-ruta .fr-actual .fr-n { background: rgb(var(--brand-700)); color: #fff; }
html[data-theme="dark"] .fire-ruta .fr-actual .fr-n { color: #041C37; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .fire-ruta .fr-actual .fr-n { color: #041C37; } }
.fire-ruta ol:has(> li:nth-child(3):last-child) { --fr-n: 3; }

/* Vista sencilla por campos: oculta los supuestos avanzados (siguen calculando con su valor) */
body.calc-sencillo .calc-avanzado { display: none !important; }
.calc-vista-sw + .mS-nota a, .mS-nota[data-para-vista] a { font-weight: 700; color: rgb(var(--brand-700)); }

/* Ejemplo resuelto bajo la entradilla de una calculadora */
.calc-ejemplo { font-size: 15.5px; line-height: 1.55; color: rgb(var(--ink-700)); background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-radius: 14px; padding: 12px 16px; }
.calc-ejemplo b { color: rgb(var(--ink)); }
.calc-ejemplo a { display: inline-block; margin-top: 2px; font-weight: 700; color: rgb(var(--brand-700)); text-decoration: none; }
.calc-ejemplo a:hover { text-decoration: underline; }

/* «La respuesta corta» al principio de una guía */
:is(.guia-cuerpo, .guia-texto) > .panel.resp-rapida { background: rgb(var(--brand-700) / .06); border: 1px solid rgb(var(--brand-700) / .25); border-radius: 16px; padding: 18px 20px; }
:is(.guia-cuerpo, .guia-texto) > .panel.resp-rapida h2 { margin-top: 0; }

/* Guías: la tarjeta usa casi toda la pantalla; el texto se queda en un bloque legible (~1000 px) y sube de tamaño en escritorio */
@media (min-width: 1024px) {
  .guia-cuerpo { max-width: 100%; }
  .guia-cuerpo > p, .guia-cuerpo .panel > p, .guia-cuerpo > ol, .guia-cuerpo > ul,
  .guia-cuerpo .panel > ol, .guia-cuerpo .panel > ul, .guia-cuerpo > .panel { max-width: 1000px; }
  .guia-cuerpo > p, .guia-cuerpo .panel > p, .guia-cuerpo .panel li, .guia-cuerpo > ol li, .guia-cuerpo > ul li { font-size: 17px; line-height: 1.65; }
}

/* Titulares: en Plus Jakarta 800 el punto final queda separado de la palabra */
.punto { margin-left: -.08em; }

/* Recuadro «clave» de las guías: con el color de la sección de la guía (antes cada guía mezclaba el suyo) */
.guia-cuerpo .clave { background: color-mix(in srgb, var(--acento) 7%, rgb(var(--surface))) !important; border: 1px solid color-mix(in srgb, var(--acento) 28%, transparent) !important; border-left: 4px solid var(--acento-o) !important; }
.guia-cuerpo .clave svg { stroke: var(--acento-o) !important; }
.guia-cuerpo .clave b { color: rgb(var(--ink)) !important; }
.guia-cuerpo .clave p { color: rgb(var(--ink-700)) !important; }

/* Portada: bloques azul marino con la rejilla suave de las cabeceras de guía y bordes redondeados (antes, un rectángulo plano a todo el ancho) */
.demo-fondo { position: relative; margin-inline: .75rem; border-radius: 2rem; overflow: hidden;
  background-color: #041C37;
  background-image: linear-gradient(180deg, rgb(255 255 255 / .04), rgb(255 255 255 / 0) 55%),
                    linear-gradient(rgb(255 255 255 / .05) 1px, transparent 1px),
                    linear-gradient(90deg, rgb(255 255 255 / .05) 1px, transparent 1px);
  background-size: auto, 48px 48px, 48px 48px; }
@media (min-width: 768px) { .demo-fondo { margin-inline: 1.5rem; border-radius: 2.5rem; } }
.coma { margin-left: -.1em; }

/* Lista de fuentes oficiales al final de las guías: viñetas y aire entre enlaces */
.guia-cuerpo ul.fuentes { list-style: disc; padding-left: 1.25rem; margin: 10px 0 14px; }
.guia-cuerpo ul.fuentes li { margin: 0 0 10px; padding-left: 2px; }
.guia-cuerpo ul.fuentes li::marker { color: rgb(var(--brand-700) / .55); }

/* «Herramientas relacionadas» con exactamente 3 tarjetas: una fila de tres (sin tarjeta huérfana).
   Con 2 o 4 tarjetas no cambia nada; las rejillas de los índices (lg:grid-cols-3/4) quedan fuera. */
@media (min-width: 768px) {
  .grid.sm\:grid-cols-2:not(.lg\:grid-cols-3):not(.lg\:grid-cols-4):has(> a.tool-card:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ── Rediseño 2026: calculadoras (body.legado) ───────────────────────────
   Las calculadoras conservan el <style> de sus componentes y su JavaScript.
   Aquí se traducen sus variables antiguas a la paleta nueva (con modo
   oscuro) y se da a la página la maqueta de la plantilla aprobada.
   --acento / --acento-osc: color del paso del método (lo pone la página). */
body.legado {
  --papel: rgb(var(--paper)); --papel2: rgb(var(--surface));
  --linea: rgb(var(--ink-200)); --linea-suave: rgb(var(--ink-200) / .6);
  --gris: rgb(var(--ink-700)); --gris-claro: rgb(var(--ink-500)); --tinta: rgb(var(--ink));
  --f-display: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
  --f-texto: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
  --f-cifra: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
  --s4: 16px; --s5: 24px; --ancho: 1120px;
  --sombra-1: 0 1px 2px rgba(4,28,55,.05), 0 2px 8px rgba(4,28,55,.04);
  --acento-osc: var(--acento-o);
  --cat: var(--acento-osc); --cat-dark: var(--acento-osc);
  --verde: var(--acento-osc); --verde-osc: var(--acento-osc);
  font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
  background: rgb(var(--paper)); color: rgb(var(--ink));
  font-feature-settings: "tnum" 1;
}
/* La hoja antigua daba a todo <header> una franja y position:relative */
body.legado #site-header { position: sticky; }
body.legado #site-header::before { display: none; }
body.legado input:focus-visible, body.legado button:focus-visible, body.legado a:focus-visible, body.legado summary:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }

/* Cabecera de la herramienta */
.calc-cab { background: linear-gradient(180deg, color-mix(in srgb, var(--acento) 13%, rgb(var(--paper))) 0%, rgb(var(--paper)) 100%); }
.calc-paso { border-color: color-mix(in srgb, var(--acento) 35%, rgb(var(--ink-200))); color: rgb(var(--ink)); }
.calc-acciones .calc-btn { display: inline-flex; align-items: center; gap: .55rem; margin: 0; border-radius: 999px; border: 1px solid rgb(var(--ink-300)); background: rgb(var(--surface)); color: rgb(var(--ink)); padding: .6rem 1.15rem; font: 600 .875rem/1.2 "Plus Jakarta Sans", sans-serif; box-shadow: none; cursor: pointer; transition: border-color .15s, transform .15s; }
.calc-acciones .calc-btn:hover { border-color: rgb(var(--ink)); transform: translateY(-1px); }
.calc-acciones .calc-btn svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Tarjetas y títulos */
.calc-tarjeta { background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-radius: 1.5rem; padding: 1.5rem; }
@media (min-width: 640px) { .calc-tarjeta { padding: 2rem; } }
.calc-h { display: block; font: 800 1.25rem/1.25 "Plus Jakarta Sans", sans-serif; letter-spacing: -.02em; color: rgb(var(--ink)); margin: 0 0 .5rem; }
.calc-datos { top: calc(96px + env(safe-area-inset-top, 0px)); }
.calc-datos-h { font: 800 1.125rem/1.2 "Plus Jakarta Sans", sans-serif; margin: 0 0 1rem; color: rgb(var(--ink)); }
.calc-datos .grp { background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 0 1.25rem; box-shadow: none; }
.calc-datos .grp + .grp { padding-top: 1.25rem; border-top: 1px solid rgb(var(--ink-200)); }
.calc-datos .controls { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem 1.25rem; }
body.legado input[type=number], body.legado input[type=text], body.legado select { border-radius: .75rem; border: 1px solid rgb(var(--ink-300)); background: rgb(var(--surface)); color: rgb(var(--ink)); font: 700 1rem "Plus Jakarta Sans", sans-serif; padding: .6rem .8rem; }
body.legado input[type=number]:focus, body.legado input[type=text]:focus, body.legado select:focus { outline: none; border-color: var(--acento); box-shadow: 0 0 0 4px color-mix(in srgb, var(--acento) 18%, transparent); }
body.legado input[type=range] { accent-color: var(--acento-osc); }

/* Cifras clave: misma forma que la plantilla; la principal, en azul marino */
.calc-cifras .stat { border-radius: 1rem; border: 1px solid rgb(var(--ink-200)); background: rgb(var(--surface)); padding: 1.1rem 1.25rem; box-shadow: none; }
.calc-cifras .stat::before { display: none; }
.calc-cifras .stat .k { font: 500 .85rem/1.3 "Plus Jakarta Sans", sans-serif; color: rgb(var(--ink-500)); text-transform: none; letter-spacing: 0; }
.calc-cifras .stat .v { font: 800 1.5rem/1.15 "Plus Jakarta Sans", sans-serif; letter-spacing: -.02em; margin-top: .3rem; }
.calc-cifras .stat.calc-cifra-principal { background: #041C37; border-color: #041C37; }
.calc-cifras .stat.calc-cifra-principal .k { color: rgba(255,255,255,.7); }
.calc-cifras .stat.calc-cifra-principal .v { color: #fff; font-size: 1.85rem; }
.calc-cifras .stat.gan { background: color-mix(in srgb, var(--acento) 10%, rgb(var(--surface))); }

/* Tabla plegable */
.calc-plegable > summary { list-style: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; cursor: pointer; }
.calc-plegable > summary::-webkit-details-marker { display: none; }
.calc-mas { font-size: 1.5rem; line-height: 1; color: rgb(var(--ink-500)); transition: transform .2s; }
.calc-plegable[open] .calc-mas { transform: rotate(45deg); }

/* Pasos y pager */
.calc-pasos { margin: .75rem 0 0; padding-left: 1.25rem; list-style: decimal; color: rgb(var(--ink-700)); font-size: .95rem; line-height: 1.6; }
.calc-pasos li + li { margin-top: .6rem; }
.calc-pasos strong { color: rgb(var(--ink)); }
body.legado .cdh-pager { margin-top: 2rem; }
body.legado .cdh-pager .pg { border-radius: 1rem; background: rgb(var(--surface)); }
body.legado .cdh-pager .pg b { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; }
body.legado .note { color: rgb(var(--ink-700)); }
body.legado .note a, body.legado .faq a, body.legado .hint a { color: var(--acento-osc); text-decoration: underline; text-underline-offset: 3px; }

/* Herramientas sueltas de la hoja general antigua */
.ext-ic { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; margin-left: 6px; vertical-align: -1px; opacity: .85; }
.vt-titulo { font-family: var(--f-display); font-weight: 700; font-size: 1.35rem; letter-spacing: -.02em; margin: 0; color: inherit; }
.tw { overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body.legado { --acento-osc: color-mix(in srgb, var(--acento) 100%, white 25%); }
}
:root[data-theme="dark"] body.legado { --acento-osc: color-mix(in srgb, var(--acento) 100%, white 25%); }

@media print {
  .calc-cab { background: #fff !important; }
  .calc-acciones, .calc-datos .seg, .ver-resultado { display: none !important; }
  .calc-tarjeta, .calc-datos { border-color: #ccc !important; break-inside: avoid; }
  .lg\:sticky { position: static !important; }
}

/* El modo oscuro antiguo pinta de fondo liso todos los campos de .controls,
   también los deslizadores, y se perdía su carril: se repone aquí. */
body.legado .controls .f input[type=range] { background: linear-gradient(to right, var(--verde) 0%, var(--verde) var(--val,50%), rgb(var(--ink-300)) var(--val,50%), rgb(var(--ink-300)) 100%) !important; border: 0 !important; padding: 0 !important; }

/* Menú de «Compartir» (lo crea herramientas.js): bajo el botón, alineado a su izquierda */
.calc-compartir { position: relative; display: inline-flex; }
.calc-acciones .share-menu { left: 0; right: auto; top: calc(100% + 8px); margin: 0; min-width: 230px; padding: .35rem; background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-radius: 1rem; box-shadow: 0 18px 40px -18px rgba(4,28,55,.45); }
.calc-acciones .share-menu .share-red { display: flex; align-items: center; gap: .7rem; padding: .6rem .8rem; border: 0; border-radius: .65rem; color: rgb(var(--ink)); font: 600 .9rem/1.2 "Plus Jakarta Sans", sans-serif; white-space: nowrap; }
.calc-acciones .share-menu .share-red:hover { background: rgb(var(--paper)); color: var(--acento-osc); }
.calc-acciones .share-menu .share-red svg { width: 16px; height: 16px; flex: none; }
.calc-cifras .calc-cifra-principal .calc-sub { color: rgba(255,255,255,.75); font-size: .9rem; margin-top: .35rem; }
.calc-datos .checkrow { margin-top: 1rem; }
.calc-cifras .calc-sub2 { color: rgb(var(--ink-500)); font-size: .9rem; margin-top: .35rem; }
.calc-datos .controls-perdidas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.25rem; }

/* «Tus datos» a todo el ancho, encima de los resultados; con dos grupos, en dos columnas */
@media (min-width: 1024px) {
  .calc-datos.calc-2g { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; align-items: start; }
  .calc-datos.calc-2g > .calc-datos-h { grid-column: 1 / -1; }
  .calc-datos.calc-2g .grp { margin-bottom: 0; }
  .calc-datos.calc-2g .grp + .grp { border-top: 0; padding-top: 0; border-left: 1px solid rgb(var(--ink-200)); padding-left: 2rem; }
}

@media (min-width: 640px) { .calc-datos .controls .calc-ancho { grid-column: span 2; } }

/* El <main> de la plantilla no lleva el relleno de la maqueta antigua */
body.legado main#contenido { padding: 0; margin: 0; max-width: none; }
body.legado .mf-cuerpo h2 { font-weight: 800; letter-spacing: -.02em; }
.calc-datos .grp-h { display: flex; align-items: center; gap: .5rem; font: 700 .75rem/1.3 "Plus Jakarta Sans", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: rgb(var(--ink-700)); padding-bottom: .6rem; margin-bottom: .9rem; border-bottom: 1px solid rgb(var(--ink-200)); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .calc-cifras .stat.calc-cifra-principal { border-color: rgb(var(--ink-300)); } }
:root[data-theme="dark"] .calc-cifras .stat.calc-cifra-principal { border-color: rgb(var(--ink-300)); }

/* Acciones sobre la banda azul marino de las guías */
.calc-acciones--oscuro .calc-btn { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.3); }
.calc-acciones--oscuro .calc-btn:hover { border-color: #fff; }
/* Cuerpo de las guías: el artículo antiguo dentro de una tarjeta blanca solapada */
:is(.guia-cuerpo, .guia-texto) > .panel { background: transparent; border: 0; box-shadow: none; padding: 0; margin: 2.25rem 0; border-radius: 0; }
:is(.guia-cuerpo, .guia-texto) > .panel:first-child, .guia-texto > .guia-indice-movil + .panel { margin-top: 0; }
.guia-cuerpo h2 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; letter-spacing: -.02em; color: rgb(var(--ink)); }
.guia-cuerpo h3 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; color: rgb(var(--ink)); }
.guia-cuerpo a:not([class]) { color: var(--acento-osc); text-decoration: underline; text-underline-offset: 3px; }

body.legado .guia-pill { color: #fff; }
body.legado .guia-intro { color: rgba(255,255,255,.78); }
body.legado .guia-cuerpo .panel > h2, body.legado .guia-texto > h2 , body.legado .guia-cuerpo > h2 { font-size: 1.45rem; line-height: 1.25; margin: 0 0 .75rem; }
/* Escritorio: el texto va a 17 px, así que los subtítulos suben y ganan aire para que la guía se pueda escanear */
@media (min-width: 1024px) { body.legado .guia-cuerpo .panel > h2, body.legado .guia-texto > h2 , body.legado .guia-cuerpo > h2 { font-size: 1.7rem; margin-bottom: .9rem; } :is(.guia-cuerpo, .guia-texto) > .panel { margin: 2.75rem 0; } }

/* Barra de progreso de las plantillas (plan de arranque, plan de inversión) dentro del artículo */
.guia-cuerpo .toolbar.calc-barra { position: static; background: rgb(var(--paper)); border: 1px solid rgb(var(--ink-200)); border-radius: 1rem; padding: .75rem 1rem; margin: 0 0 1rem; box-shadow: none; }
.guia-cuerpo .toolbar.calc-barra .wrap { max-width: none; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.guia-cuerpo .toolbar.calc-barra .prog { margin-right: auto; }
:is(.guia-cuerpo, .guia-texto) > .wrap { max-width: none; padding: 0; }

/* Los hijos de rejilla no deben ensancharse por una tabla: la tabla hace scroll dentro */
body.legado main .grid > *{min-width:0}
body.legado .table-scroll{max-width:100%;overflow-x:auto}

/* Modo oscuro: dorados y enlaces de texto con el tono claro del acento */
html[data-theme="dark"] body.legado{--oro:#FBBF24;--oro-texto:#FBBF24}
@media (prefers-color-scheme: dark){html:not([data-theme="light"]) body.legado{--oro:#FBBF24;--oro-texto:#FBBF24}}
html[data-theme="dark"] .guia-cuerpo a:not([class]){color:color-mix(in srgb, var(--acento) 55%, #fff)}
@media (prefers-color-scheme: dark){html:not([data-theme="light"]) .guia-cuerpo a:not([class]){color:color-mix(in srgb, var(--acento) 55%, #fff)}}
body.legado thead em{color:inherit !important;opacity:.75}

/* ── Lectura de las guías (mejora 5 oct 2026) ───────────────────────────
   Cuerpo a 17 px / 1,7 y líneas de ~72 caracteres; índice «En esta guía». */
body.legado .guia-cuerpo .panel > p, body.legado :is(.guia-cuerpo, .guia-texto) > p,
body.legado .guia-cuerpo .panel > ul > li, body.legado .guia-cuerpo .panel > ol > li {
  font-size: 1rem; line-height: 1.7; color: rgb(var(--ink-800));
}
@media (min-width: 640px) {
  body.legado .guia-cuerpo .panel > p, body.legado :is(.guia-cuerpo, .guia-texto) > p,
  body.legado .guia-cuerpo .panel > ul > li, body.legado .guia-cuerpo .panel > ol > li { font-size: 1.0625rem; }
}
body.legado .guia-cuerpo .panel > p, body.legado :is(.guia-cuerpo, .guia-texto) > p,
body.legado .guia-cuerpo .panel > ul, body.legado .guia-cuerpo .panel > ol { max-width: 72ch; }
body.legado .guia-cuerpo .panel > p + p { margin-top: .9rem; }
.guia-cuerpo h2[id] { scroll-margin-top: calc(96px + env(safe-area-inset-top, 0px)); }

/* Índice: desplegable en móvil y tableta */
.guia-indice-movil { margin: 0 0 2rem; border: 1px solid rgb(var(--ink-200)); border-radius: 1rem; background: rgb(var(--paper)); }
.guia-indice-movil summary { list-style: none; cursor: pointer; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; font-weight: 700; color: rgb(var(--ink)); }
.guia-indice-movil summary::-webkit-details-marker { display: none; }
.guia-indice-movil summary::after { content: "+"; font-weight: 600; color: rgb(var(--ink-500)); }
.guia-indice-movil[open] summary::after { content: "−"; }
.guia-indice-movil summary > span { white-space: nowrap; }
.guia-indice-movil summary small { margin-left: auto; text-align: right; font-weight: 500; font-size: .8rem; color: rgb(var(--ink-500)); }
.guia-indice-movil ol, .guia-indice ol { list-style: none; margin: 0; padding: 0; counter-reset: gi; }
.guia-indice-movil ol { padding: 0 1.1rem 1rem; }
.guia-indice-movil li, .guia-indice li { counter-increment: gi; }
.guia-cuerpo .guia-indice-movil a, .guia-cuerpo .guia-indice a { display: flex; gap: .6rem; padding: .4rem 0; font-size: .9rem; line-height: 1.4; color: rgb(var(--ink-700)); text-decoration: none; }
.guia-indice-movil a::before, .guia-indice a::before { content: counter(gi, decimal-leading-zero); flex: none; font-variant-numeric: tabular-nums; font-weight: 700; font-size: .75rem; padding-top: .1rem; color: var(--acento-osc); }
.guia-cuerpo .guia-indice-movil a:hover, .guia-cuerpo .guia-indice a:hover { color: rgb(var(--ink)); text-decoration: underline; text-underline-offset: 3px; }

/* Índice: columna lateral fija en pantallas grandes */
@media (min-width: 1280px) {
  .guia-cuerpo.con-indice .guia-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 13.5rem; gap: 3rem; align-items: start; }
  .guia-indice { position: sticky; top: calc(96px + env(safe-area-inset-top, 0px)); border-left: 2px solid color-mix(in srgb, var(--acento) 35%, rgb(var(--ink-200))); padding-left: 1.1rem; }
  .guia-indice .gi-t { font-weight: 800; font-size: .95rem; color: rgb(var(--ink)); margin: 0; }
  .guia-indice .gi-m { font-size: .78rem; color: rgb(var(--ink-500)); margin: .2rem 0 .8rem; }
  .guia-cuerpo .guia-indice a { font-size: .84rem; padding: .32rem 0; }
}
html[data-theme="dark"] .guia-indice-movil a::before, html[data-theme="dark"] .guia-indice a::before { color: color-mix(in srgb, var(--acento) 60%, #fff); }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .guia-indice-movil a::before, html:not([data-theme="light"]) .guia-indice a::before { color: color-mix(in srgb, var(--acento) 60%, #fff); } }
@media print { .guia-indice, .guia-indice-movil { display: none !important; } }
@media (max-width: 639px) { body.legado article.guia-cuerpo { padding: 1.25rem; border-radius: 1.25rem; } }

/* Interés compuesto: «Tu objetivo» y «Lo que te cuesta la comisión» */
.meta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; margin: 0 0 1.25rem; }
.meta-grid[hidden], .meta-card[hidden] { display: none; }
.meta-card { background: rgb(var(--surface)); border: 1px solid rgb(var(--ink-200)); border-top: 3px solid var(--acento); border-radius: 1.25rem; padding: 1.1rem 1.4rem 1.2rem; }
.meta-ter { border-top-color: #B3261E; }
.meta-card .mk { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: rgb(var(--ink-500)); }
.meta-card .mv { font: 800 1.7rem/1.15 "Plus Jakarta Sans", sans-serif; letter-spacing: -.02em; margin: .3rem 0 .4rem; color: rgb(var(--ink)); font-variant-numeric: tabular-nums; }
.meta-ter .mv { color: color-mix(in srgb, #B3261E 80%, rgb(var(--ink))); }
.meta-card p { margin: .25rem 0; font-size: .9rem; line-height: 1.5; color: rgb(var(--ink-700)); }
.meta-card a { display: inline-block; margin-top: .45rem; font-weight: 600; font-size: .875rem; color: var(--acento-osc); text-decoration: underline; text-underline-offset: 3px; }
@media print { .meta-grid { break-inside: avoid; } }
.ter-op { display: inline; padding: 0; background: none; border: 0; font: inherit; font-weight: 600; color: var(--acento-osc); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.ter-op:hover { filter: brightness(.85); }
