/* Techy Like That child theme. Generated by tools/theme/build_theme.py; edit the sources, not this file. */
/* 1. Tailwind (scoped to .tlt) */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.tlt .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}.tlt .pointer-events-none{pointer-events:none}.tlt .\!visible{visibility:visible!important}.tlt .visible{visibility:visible}.tlt .invisible{visibility:hidden}.tlt .static{position:static}.tlt .fixed{position:fixed}.tlt .absolute{position:absolute}.tlt .relative{position:relative}.tlt .sticky{position:sticky}.tlt .inset-0{inset:0}.tlt .inset-x-0{left:0;right:0}.tlt .-bottom-6{bottom:-1.5rem}.tlt .-left-4{left:-1rem}.tlt .-right-6{right:-1.5rem}.tlt .-top-16{top:-4rem}.tlt .-top-3\.5{top:-.875rem}.tlt .bottom-0{bottom:0}.tlt .bottom-10{bottom:2.5rem}.tlt .left-0{left:0}.tlt .left-4{left:1rem}.tlt .left-5{left:1.25rem}.tlt .left-6{left:1.5rem}.tlt .right-0{right:0}.tlt .right-10{right:2.5rem}.tlt .right-6{right:1.5rem}.tlt .top-0{top:0}.tlt .top-1{top:.25rem}.tlt .top-1\/2{top:50%}.tlt .top-5{top:1.25rem}.tlt .top-6{top:1.5rem}.tlt .top-full{top:100%}.tlt .z-10{z-index:10}.tlt .z-40{z-index:40}.tlt .order-first{order:-9999}.tlt .col-span-2{grid-column:span 2/span 2}.tlt .row-span-2{grid-row:span 2/span 2}.tlt .m-0{margin:0}.tlt .-mx-2{margin-left:-.5rem;margin-right:-.5rem}.tlt .mx-auto{margin-left:auto;margin-right:auto}.tlt .-mb-6{margin-bottom:-1.5rem}.tlt .mb-2{margin-bottom:.5rem}.tlt .mb-3{margin-bottom:.75rem}.tlt .ml-3{margin-left:.75rem}.tlt .ml-auto{margin-left:auto}.tlt .mt-0{margin-top:0}.tlt .mt-0\.5{margin-top:.125rem}.tlt .mt-1{margin-top:.25rem}.tlt .mt-10{margin-top:2.5rem}.tlt .mt-12{margin-top:3rem}.tlt .mt-14{margin-top:3.5rem}.tlt .mt-2{margin-top:.5rem}.tlt .mt-2\.5{margin-top:.625rem}.tlt .mt-3{margin-top:.75rem}.tlt .mt-4{margin-top:1rem}.tlt .mt-5{margin-top:1.25rem}.tlt .mt-6{margin-top:1.5rem}.tlt .mt-7{margin-top:1.75rem}.tlt .mt-8{margin-top:2rem}.tlt .mt-9{margin-top:2.25rem}.tlt .mt-auto{margin-top:auto}.tlt .block{display:block}.tlt .inline-block{display:inline-block}.tlt .inline{display:inline}.tlt .flex{display:flex}.tlt .inline-flex{display:inline-flex}.tlt .table{display:table}.tlt .grid{display:grid}.tlt .hidden{display:none}.tlt .aspect-\[16\/10\]{aspect-ratio:16/10}.tlt .aspect-\[4\/3\]{aspect-ratio:4/3}.tlt .aspect-\[4\/5\]{aspect-ratio:4/5}.tlt .aspect-video{aspect-ratio:16/9}.tlt .size-10{width:2.5rem;height:2.5rem}.tlt .size-11{width:2.75rem;height:2.75rem}.tlt .size-12{width:3rem;height:3rem}.tlt .size-14{width:3.5rem;height:3.5rem}.tlt .size-2{width:.5rem;height:.5rem}.tlt .size-2\.5{width:.625rem;height:.625rem}.tlt .size-20{width:5rem;height:5rem}.tlt .size-3{width:.75rem;height:.75rem}.tlt .size-3\.5{width:.875rem;height:.875rem}.tlt .size-4{width:1rem;height:1rem}.tlt .size-5{width:1.25rem;height:1.25rem}.tlt .size-6{width:1.5rem;height:1.5rem}.tlt .size-64{width:16rem;height:16rem}.tlt .size-7{width:1.75rem;height:1.75rem}.tlt .size-8{width:2rem;height:2rem}.tlt .size-9{width:2.25rem;height:2.25rem}.tlt .h-0{height:0}.tlt .h-0\.5{height:.125rem}.tlt .h-1{height:.25rem}.tlt .h-1\.5{height:.375rem}.tlt .h-16{height:4rem}.tlt .h-2{height:.5rem}.tlt .h-2\.5{height:.625rem}.tlt .h-20{height:5rem}.tlt .h-4{height:1rem}.tlt .h-72{height:18rem}.tlt .h-\[calc\(100\%\+1\.5rem\)\]{height:calc(100% + 1.5rem)}.tlt .h-full{height:100%}.tlt .h-px{height:1px}.tlt .max-h-\[calc\(100vh-4\.5rem\)\]{max-height:calc(100vh - 4.5rem)}.tlt .min-h-0{min-height:0}.tlt .min-h-11{min-height:2.75rem}.tlt .min-h-12{min-height:3rem}.tlt .min-h-64{min-height:16rem}.tlt .min-h-8{min-height:2rem}.tlt .min-h-\[18rem\]{min-height:18rem}.tlt .w-1{width:.25rem}.tlt .w-1\/2{width:50%}.tlt .w-16{width:4rem}.tlt .w-2{width:.5rem}.tlt .w-2\/3{width:66.666667%}.tlt .w-2\/5{width:40%}.tlt .w-24{width:6rem}.tlt .w-3{width:.75rem}.tlt .w-3\/5{width:60%}.tlt .w-5\/6{width:83.333333%}.tlt .w-\[70\%\]{width:70%}.tlt .w-\[98\%\]{width:98%}.tlt .w-fit{width:-moz-fit-content;width:fit-content}.tlt .w-full{width:100%}.tlt .w-px{width:1px}.tlt .min-w-0{min-width:0}.tlt .min-w-11{min-width:2.75rem}.tlt .min-w-\[5\.5rem\]{min-width:5.5rem}.tlt .max-w-2xl{max-width:42rem}.tlt .max-w-3xl{max-width:48rem}.tlt .max-w-4xl{max-width:56rem}.tlt .max-w-5xl{max-width:64rem}.tlt .max-w-6xl{max-width:72rem}.tlt .max-w-\[100rem\]{max-width:100rem}.tlt .max-w-\[10rem\]{max-width:10rem}.tlt .max-w-\[11rem\]{max-width:11rem}.tlt .max-w-\[12rem\]{max-width:12rem}.tlt .max-w-\[14rem\]{max-width:14rem}.tlt .max-w-\[420px\]{max-width:420px}.tlt .max-w-\[97\.25rem\]{max-width:97.25rem}.tlt .max-w-lg{max-width:32rem}.tlt .max-w-md{max-width:28rem}.tlt .max-w-prose{max-width:65ch}.tlt .max-w-xl{max-width:36rem}.tlt .max-w-xs{max-width:20rem}.tlt .flex-1{flex:1 1 0%}.tlt .shrink{flex-shrink:1}.tlt .shrink-0{flex-shrink:0}.tlt .grow{flex-grow:1}.tlt .basis-\[83\%\]{flex-basis:83%}.tlt .-translate-y-1{--tw-translate-y:-0.25rem}.tlt .-translate-y-1,.tlt .-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tlt .-translate-y-1\/2{--tw-translate-y:-50%}.tlt .translate-x-3{--tw-translate-x:0.75rem}.tlt .translate-x-3,.tlt .translate-x-\[35\%\]{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))}.tlt .translate-x-\[35\%\]{--tw-translate-x:35%}.tlt .translate-y-3{--tw-translate-y:0.75rem}.tlt .translate-y-3,.tlt .translate-y-\[35\%\]{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))}.tlt .translate-y-\[35\%\]{--tw-translate-y:35%}.tlt .rotate-2{--tw-rotate:2deg}.tlt .rotate-2,.tlt .rotate-90{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))}.tlt .rotate-90{--tw-rotate:90deg}.tlt .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tlt .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.tlt .resize{resize:both}.tlt .snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.tlt .snap-mandatory{--tw-scroll-snap-strictness:mandatory}.tlt .snap-start{scroll-snap-align:start}.tlt .scroll-mt-24{scroll-margin-top:6rem}.tlt .scroll-mt-28{scroll-margin-top:7rem}.tlt .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tlt .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tlt .grid-cols-\[auto_minmax\(0\2c 1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.tlt .flex-col{flex-direction:column}.tlt .flex-wrap{flex-wrap:wrap}.tlt .place-items-center{place-items:center}.tlt .items-start{align-items:flex-start}.tlt .items-end{align-items:flex-end}.tlt .items-center{align-items:center}.tlt .items-stretch{align-items:stretch}.tlt .justify-end{justify-content:flex-end}.tlt .justify-center{justify-content:center}.tlt .justify-between{justify-content:space-between}.tlt .gap-1{gap:.25rem}.tlt .gap-1\.5{gap:.375rem}.tlt .gap-10{gap:2.5rem}.tlt .gap-12{gap:3rem}.tlt .gap-2{gap:.5rem}.tlt .gap-3{gap:.75rem}.tlt .gap-4{gap:1rem}.tlt .gap-6{gap:1.5rem}.tlt .gap-8{gap:2rem}.tlt .gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.tlt .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.tlt .gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.tlt .gap-y-1{row-gap:.25rem}.tlt .gap-y-2{row-gap:.5rem}.tlt .gap-y-3{row-gap:.75rem}.tlt .gap-y-4{row-gap:1rem}.tlt :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.tlt :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.tlt :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.tlt :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.tlt :is(.space-y-5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.tlt .self-start{align-self:flex-start}.tlt .self-center{align-self:center}.tlt .self-stretch{align-self:stretch}.tlt .justify-self-start{justify-self:start}.tlt .overflow-hidden{overflow:hidden}.tlt .overflow-visible{overflow:visible}.tlt .overflow-x-auto{overflow-x:auto}.tlt .overflow-y-auto{overflow-y:auto}.tlt .scroll-smooth{scroll-behavior:smooth}.tlt .truncate{overflow:hidden;text-overflow:ellipsis}.tlt .truncate,.tlt .whitespace-nowrap{white-space:nowrap}.tlt .break-all{word-break:break-all}.tlt .rounded{border-radius:.25rem}.tlt .rounded-2xl{border-radius:1rem}.tlt .rounded-3xl{border-radius:1.5rem}.tlt .rounded-\[1\.25rem\]{border-radius:1.25rem}.tlt .rounded-\[1\.5rem\]{border-radius:1.5rem}.tlt .rounded-\[1\.75rem\]{border-radius:1.75rem}.tlt .rounded-\[1\.9rem\]{border-radius:1.9rem}.tlt .rounded-\[2rem\]{border-radius:2rem}.tlt .rounded-\[calc\(1\.75rem-1px\)\]{border-radius:calc(1.75rem - 1px)}.tlt .rounded-\[calc\(1\.9rem-2px\)\]{border-radius:calc(1.9rem - 2px)}.tlt .rounded-full{border-radius:9999px}.tlt .rounded-lg{border-radius:.5rem}.tlt .rounded-sm{border-radius:.125rem}.tlt .rounded-xl{border-radius:.75rem}.tlt .rounded-t-\[2rem\]{border-top-left-radius:2rem;border-top-right-radius:2rem}.tlt .border{border-width:1px}.tlt .border-0{border-width:0}.tlt .border-2{border-width:2px}.tlt .border-b{border-bottom-width:1px}.tlt .border-t{border-top-width:1px}.tlt .border-aqua{--tw-border-opacity:1;border-color:rgb(84 237 226/var(--tw-border-opacity,1))}.tlt .border-aqua\/40{border-color:rgba(84,237,226,.4)}.tlt .border-charcoal{--tw-border-opacity:1;border-color:rgb(17 17 17/var(--tw-border-opacity,1))}.tlt .border-mist{--tw-border-opacity:1;border-color:rgb(233 233 230/var(--tw-border-opacity,1))}.tlt .border-mist\/80{border-color:hsla(60,6%,91%,.8)}.tlt .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.tlt .border-white\/10{border-color:hsla(0,0%,100%,.1)}.tlt .border-white\/15{border-color:hsla(0,0%,100%,.15)}.tlt .border-white\/60{border-color:hsla(0,0%,100%,.6)}.tlt .bg-\[\#1A1A1A\]{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.tlt .bg-\[\#262626\]{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.tlt .bg-aqua{--tw-bg-opacity:1;background-color:rgb(84 237 226/var(--tw-bg-opacity,1))}.tlt .bg-aqua\/10{background-color:rgba(84,237,226,.1)}.tlt .bg-aqua\/15{background-color:rgba(84,237,226,.15)}.tlt .bg-aqua\/20{background-color:rgba(84,237,226,.2)}.tlt .bg-aqua\/40{background-color:rgba(84,237,226,.4)}.tlt .bg-aqua\/60{background-color:rgba(84,237,226,.6)}.tlt .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.tlt .bg-black\/30{background-color:rgba(0,0,0,.3)}.tlt .bg-charcoal{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.tlt .bg-charcoal\/25{background-color:hsla(0,0%,7%,.25)}.tlt .bg-charcoal\/80{background-color:hsla(0,0%,7%,.8)}.tlt .bg-cool{--tw-bg-opacity:1;background-color:rgb(183 183 179/var(--tw-bg-opacity,1))}.tlt .bg-cool\/40{background-color:hsla(60,3%,71%,.4)}.tlt .bg-mist{--tw-bg-opacity:1;background-color:rgb(233 233 230/var(--tw-bg-opacity,1))}.tlt .bg-mist\/80{background-color:hsla(60,6%,91%,.8)}.tlt .bg-paper{--tw-bg-opacity:1;background-color:rgb(247 247 245/var(--tw-bg-opacity,1))}.tlt .bg-paper\/90{background-color:hsla(60,11%,96%,.9)}.tlt .bg-paper\/95{background-color:hsla(60,11%,96%,.95)}.tlt .bg-signal{--tw-bg-opacity:1;background-color:rgb(243 165 107/var(--tw-bg-opacity,1))}.tlt .bg-signal\/15{background-color:hsla(26,85%,69%,.15)}.tlt .bg-signal\/25{background-color:hsla(26,85%,69%,.25)}.tlt .bg-signal\/80{background-color:hsla(26,85%,69%,.8)}.tlt .bg-transparent{background-color:transparent}.tlt .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.tlt .bg-white\/10{background-color:hsla(0,0%,100%,.1)}.tlt .bg-white\/20{background-color:hsla(0,0%,100%,.2)}.tlt .bg-white\/25{background-color:hsla(0,0%,100%,.25)}.tlt .bg-white\/5{background-color:hsla(0,0%,100%,.05)}.tlt .bg-white\/80{background-color:hsla(0,0%,100%,.8)}.tlt .bg-white\/\[\.04\]{background-color:hsla(0,0%,100%,.04)}.tlt .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.tlt .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.tlt .bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.tlt .from-aqua{--tw-gradient-from:#54ede2 var(--tw-gradient-from-position);--tw-gradient-to:rgba(84,237,226,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .from-aqua\/10{--tw-gradient-from:rgba(84,237,226,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(84,237,226,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .from-aqua\/30{--tw-gradient-from:rgba(84,237,226,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(84,237,226,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .from-cool{--tw-gradient-from:#b7b7b3 var(--tw-gradient-from-position);--tw-gradient-to:hsla(60,3%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .from-cool\/50{--tw-gradient-from:hsla(60,3%,71%,.5) var(--tw-gradient-from-position);--tw-gradient-to:hsla(60,3%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .from-mist{--tw-gradient-from:#e9e9e6 var(--tw-gradient-from-position);--tw-gradient-to:hsla(60,6%,91%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .from-signal{--tw-gradient-from:#f3a56b var(--tw-gradient-from-position);--tw-gradient-to:hsla(26,85%,69%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .from-signal\/25{--tw-gradient-from:hsla(26,85%,69%,.25) var(--tw-gradient-from-position);--tw-gradient-to:hsla(26,85%,69%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tlt .via-paper{--tw-gradient-to:hsla(60,11%,96%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f7f7f5 var(--tw-gradient-via-position),var(--tw-gradient-to)}.tlt .to-cool{--tw-gradient-to:#b7b7b3 var(--tw-gradient-to-position)}.tlt .to-cool\/40{--tw-gradient-to:hsla(60,3%,71%,.4) var(--tw-gradient-to-position)}.tlt .to-mist{--tw-gradient-to:#e9e9e6 var(--tw-gradient-to-position)}.tlt .to-paper{--tw-gradient-to:#f7f7f5 var(--tw-gradient-to-position)}.tlt .to-signal{--tw-gradient-to:#f3a56b var(--tw-gradient-to-position)}.tlt .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.tlt .object-cover{-o-object-fit:cover;object-fit:cover}.tlt .object-\[50\%_40\%\]{-o-object-position:50% 40%;object-position:50% 40%}.tlt .object-\[50\%_45\%\]{-o-object-position:50% 45%;object-position:50% 45%}.tlt .object-\[50\%_50\%\]{-o-object-position:50% 50%;object-position:50% 50%}.tlt .object-\[65\%_50\%\]{-o-object-position:65% 50%;object-position:65% 50%}.tlt .object-\[70\%_50\%\]{-o-object-position:70% 50%;object-position:70% 50%}.tlt .object-center{-o-object-position:center;object-position:center}.tlt .object-right{-o-object-position:right;object-position:right}.tlt .object-top{-o-object-position:top;object-position:top}.tlt .p-4{padding:1rem}.tlt .p-5{padding:1.25rem}.tlt .p-6{padding:1.5rem}.tlt .p-8{padding:2rem}.tlt .p-\[2px\]{padding:2px}.tlt .p-px{padding:1px}.tlt .px-2{padding-left:.5rem;padding-right:.5rem}.tlt .px-2\.5{padding-left:.625rem;padding-right:.625rem}.tlt .px-3{padding-left:.75rem;padding-right:.75rem}.tlt .px-4{padding-left:1rem;padding-right:1rem}.tlt .px-5{padding-left:1.25rem;padding-right:1.25rem}.tlt .px-6{padding-left:1.5rem;padding-right:1.5rem}.tlt .px-7{padding-left:1.75rem;padding-right:1.75rem}.tlt .py-0{padding-top:0;padding-bottom:0}.tlt .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.tlt .py-1{padding-top:.25rem;padding-bottom:.25rem}.tlt .py-10{padding-top:2.5rem;padding-bottom:2.5rem}.tlt .py-12{padding-top:3rem;padding-bottom:3rem}.tlt .py-14{padding-top:3.5rem;padding-bottom:3.5rem}.tlt .py-16{padding-top:4rem;padding-bottom:4rem}.tlt .py-2{padding-top:.5rem;padding-bottom:.5rem}.tlt .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.tlt .py-3{padding-top:.75rem;padding-bottom:.75rem}.tlt .py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.tlt .py-4{padding-top:1rem;padding-bottom:1rem}.tlt .py-8{padding-top:2rem;padding-bottom:2rem}.tlt .pb-10{padding-bottom:2.5rem}.tlt .pb-14{padding-bottom:3.5rem}.tlt .pb-16{padding-bottom:4rem}.tlt .pb-20{padding-bottom:5rem}.tlt .pb-24{padding-bottom:6rem}.tlt .pb-4{padding-bottom:1rem}.tlt .pb-6{padding-bottom:1.5rem}.tlt .pb-7{padding-bottom:1.75rem}.tlt .pr-10{padding-right:2.5rem}.tlt .pr-12{padding-right:3rem}.tlt .pt-0\.5{padding-top:.125rem}.tlt .pt-1{padding-top:.25rem}.tlt .pt-10{padding-top:2.5rem}.tlt .pt-12{padding-top:3rem}.tlt .pt-14{padding-top:3.5rem}.tlt .pt-16{padding-top:4rem}.tlt .pt-2{padding-top:.5rem}.tlt .pt-20{padding-top:5rem}.tlt .pt-24{padding-top:6rem}.tlt .pt-4{padding-top:1rem}.tlt .pt-5{padding-top:1.25rem}.tlt .pt-6{padding-top:1.5rem}.tlt .pt-8{padding-top:2rem}.tlt .text-left{text-align:left}.tlt .text-center{text-align:center}.tlt .text-right{text-align:right}.tlt .font-\[\'Caveat\'\2c \'Segoe_Script\'\2c \'Brush_Script_MT\'\2c cursive\]{font-family:Caveat,Segoe Script,Brush Script MT,cursive}.tlt .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tlt .font-sans{font-family:Outfit,Avenir Next,Segoe UI,sans-serif}.tlt .font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.tlt .text-2xl{font-size:1.5rem;line-height:2rem}.tlt .text-3xl{font-size:1.875rem;line-height:2.25rem}.tlt .text-4xl{font-size:2.25rem;line-height:2.5rem}.tlt .text-\[10px\]{font-size:10px}.tlt .text-\[10rem\]{font-size:10rem}.tlt .text-\[11px\]{font-size:11px}.tlt .text-base{font-size:1rem;line-height:1.5rem}.tlt .text-lg{font-size:1.125rem;line-height:1.75rem}.tlt .text-sm{font-size:.875rem;line-height:1.25rem}.tlt .text-xl{font-size:1.25rem;line-height:1.75rem}.tlt .text-xs{font-size:.75rem;line-height:1rem}.tlt .font-bold{font-weight:700}.tlt .font-extrabold{font-weight:800}.tlt .font-medium{font-weight:500}.tlt .font-semibold{font-weight:600}.tlt .uppercase{text-transform:uppercase}.tlt .not-italic{font-style:normal}.tlt .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tlt .leading-\[1\.05\]{line-height:1.05}.tlt .leading-none{line-height:1}.tlt .leading-relaxed{line-height:1.625}.tlt .leading-snug{line-height:1.375}.tlt .leading-tight{line-height:1.25}.tlt .tracking-\[0\.02em\]{letter-spacing:.02em}.tlt .tracking-\[0\.14em\]{letter-spacing:.14em}.tlt .tracking-\[0\.16em\]{letter-spacing:.16em}.tlt .tracking-\[0\.18em\]{letter-spacing:.18em}.tlt .tracking-\[0\.22em\]{letter-spacing:.22em}.tlt .tracking-\[0\.28em\]{letter-spacing:.28em}.tlt .tracking-\[0\.2em\]{letter-spacing:.2em}.tlt .tracking-tight{letter-spacing:-.025em}.tlt .tracking-wide{letter-spacing:.025em}.tlt .tracking-wider{letter-spacing:.05em}.tlt .text-aqua{--tw-text-opacity:1;color:rgb(84 237 226/var(--tw-text-opacity,1))}.tlt .text-aqua\/20{color:rgba(84,237,226,.2)}.tlt .text-aqua\/50{color:rgba(84,237,226,.5)}.tlt .text-charcoal{--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity,1))}.tlt .text-charcoal\/60{color:hsla(0,0%,7%,.6)}.tlt .text-charcoal\/65{color:hsla(0,0%,7%,.65)}.tlt .text-charcoal\/70{color:hsla(0,0%,7%,.7)}.tlt .text-charcoal\/75{color:hsla(0,0%,7%,.75)}.tlt .text-charcoal\/80{color:hsla(0,0%,7%,.8)}.tlt .text-charcoal\/85{color:hsla(0,0%,7%,.85)}.tlt .text-cool{--tw-text-opacity:1;color:rgb(183 183 179/var(--tw-text-opacity,1))}.tlt .text-paper{--tw-text-opacity:1;color:rgb(247 247 245/var(--tw-text-opacity,1))}.tlt .text-paper\/75{color:hsla(60,11%,96%,.75)}.tlt .text-paper\/80{color:hsla(60,11%,96%,.8)}.tlt .text-paper\/85{color:hsla(60,11%,96%,.85)}.tlt .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.tlt .text-signal{--tw-text-opacity:1;color:rgb(243 165 107/var(--tw-text-opacity,1))}.tlt .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.tlt .text-white\/40{color:hsla(0,0%,100%,.4)}.tlt .text-white\/45{color:hsla(0,0%,100%,.45)}.tlt .text-white\/5{color:hsla(0,0%,100%,.05)}.tlt .text-white\/70{color:hsla(0,0%,100%,.7)}.tlt .text-white\/80{color:hsla(0,0%,100%,.8)}.tlt .underline{text-decoration-line:underline}.tlt .decoration-aqua{text-decoration-color:#54ede2}.tlt .decoration-2{text-decoration-thickness:2px}.tlt .underline-offset-2{text-underline-offset:2px}.tlt .underline-offset-4{text-underline-offset:4px}.tlt .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tlt .shadow-card{--tw-shadow:0 16px 40px -28px hsla(0,0%,7%,.45);--tw-shadow-colored:0 16px 40px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tlt .outline{outline-style:solid}.tlt .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)}.tlt .ring-1,.tlt .ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.tlt .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)}.tlt .ring-aqua{--tw-ring-opacity:1;--tw-ring-color:rgb(84 237 226/var(--tw-ring-opacity,1))}.tlt .ring-aqua\/30{--tw-ring-color:rgba(84,237,226,.3)}.tlt .ring-aqua\/40{--tw-ring-color:rgba(84,237,226,.4)}.tlt .ring-charcoal{--tw-ring-opacity:1;--tw-ring-color:rgb(17 17 17/var(--tw-ring-opacity,1))}.tlt .ring-charcoal\/30{--tw-ring-color:hsla(0,0%,7%,.3)}.tlt .ring-cool{--tw-ring-opacity:1;--tw-ring-color:rgb(183 183 179/var(--tw-ring-opacity,1))}.tlt .ring-mist{--tw-ring-opacity:1;--tw-ring-color:rgb(233 233 230/var(--tw-ring-opacity,1))}.tlt .ring-signal{--tw-ring-opacity:1;--tw-ring-color:rgb(243 165 107/var(--tw-ring-opacity,1))}.tlt .ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.tlt .ring-white\/10{--tw-ring-color:hsla(0,0%,100%,.1)}.tlt .ring-white\/20{--tw-ring-color:hsla(0,0%,100%,.2)}.tlt .ring-white\/60{--tw-ring-color:hsla(0,0%,100%,.6)}.tlt .ring-white\/70{--tw-ring-color:hsla(0,0%,100%,.7)}.tlt .drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06));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)}.tlt .\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.tlt .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tlt .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)}.tlt .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tlt .transition-\[color\2c filter\]{transition-property:color,filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tlt .transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tlt .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tlt .duration-200{transition-duration:.2s}.tlt .duration-\[400ms\]{transition-duration:.4s}.tlt .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.tlt .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.tlt .placeholder\:text-charcoal\/45::-moz-placeholder{color:hsla(0,0%,7%,.45)}.tlt .placeholder\:text-charcoal\/45::placeholder{color:hsla(0,0%,7%,.45)}.tlt .hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.tlt .hover\:bg-mist:hover{--tw-bg-opacity:1;background-color:rgb(233 233 230/var(--tw-bg-opacity,1))}.tlt .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.tlt .hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.tlt .hover\:text-charcoal:hover{--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity,1))}.tlt .hover\:underline:hover{text-decoration-line:underline}.tlt .hover\:decoration-charcoal:hover{text-decoration-color:#111}.tlt .hover\:decoration-signal:hover{text-decoration-color:#f3a56b}.tlt .hover\:decoration-white:hover{text-decoration-color:#fff}.tlt .hover\:shadow-\[0_0_24px_rgba\(84\2c 237\2c 226\2c \.55\)\]:hover{--tw-shadow:0 0 24px rgba(84,237,226,.55);--tw-shadow-colored:0 0 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tlt .hover\:ring-2:hover{--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)}.tlt .hover\:ring-aqua:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(84 237 226/var(--tw-ring-opacity,1))}.tlt .hover\:ring-charcoal:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(17 17 17/var(--tw-ring-opacity,1))}.tlt .focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.tlt .focus\:absolute:focus{position:absolute}.tlt .focus\:left-4:focus{left:1rem}.tlt .focus\:top-4:focus{top:1rem}.tlt .focus\:z-50:focus{z-index:50}.tlt .focus\:rounded-full:focus{border-radius:9999px}.tlt .focus\:bg-charcoal:focus{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.tlt .focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.tlt .focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.tlt .focus\:text-paper:focus{--tw-text-opacity:1;color:rgb(247 247 245/var(--tw-text-opacity,1))}.tlt .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.tlt .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.tlt .focus\:ring-aqua:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(84 237 226/var(--tw-ring-opacity,1))}.tlt .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.tlt .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.tlt .focus-visible\:ring-aqua:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(84 237 226/var(--tw-ring-opacity,1))}.tlt .focus-visible\:ring-charcoal:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(17 17 17/var(--tw-ring-opacity,1))}.tlt .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.tlt .focus-visible\:ring-offset-charcoal:focus-visible{--tw-ring-offset-color:#111}.tlt .focus-visible\:ring-offset-mist:focus-visible{--tw-ring-offset-color:#e9e9e6}.tlt .focus-visible\:ring-offset-paper:focus-visible{--tw-ring-offset-color:#f7f7f5}.tlt :is(.group:focus-within .group-focus-within\:text-aqua\/60){color:rgba(84,237,226,.6)}.tlt :is(.group:focus-within .group-focus-within\:drop-shadow-\[0_0_18px_rgba\(84\2c 237\2c 226\2c 0\.55\)\]){--tw-drop-shadow:drop-shadow(0 0 18px rgba(84,237,226,.55));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)}.tlt :is(.group:hover .group-hover\:-translate-y-1){--tw-translate-y:-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))}.tlt :is(.group:hover .group-hover\:text-aqua\/60){color:rgba(84,237,226,.6)}.tlt :is(.group:hover .group-hover\:drop-shadow-\[0_0_18px_rgba\(84\2c 237\2c 226\2c 0\.55\)\]){--tw-drop-shadow:drop-shadow(0 0 18px rgba(84,237,226,.55));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)}@media (prefers-reduced-motion:reduce){.tlt .motion-reduce\:transition-none{transition-property:none}}@media (min-width:640px){.tlt .sm\:-left-6{left:-1.5rem}.tlt .sm\:col-span-2{grid-column:span 2/span 2}.tlt .sm\:block{display:block}.tlt .sm\:inline{display:inline}.tlt .sm\:flex{display:flex}.tlt .sm\:hidden{display:none}.tlt .sm\:size-16{width:4rem;height:4rem}.tlt .sm\:size-24{width:6rem;height:6rem}.tlt .sm\:w-1\/2{width:50%}.tlt .sm\:max-w-none{max-width:none}.tlt .sm\:basis-\[calc\(\(100\%-1rem\)\/1\.5\)\]{flex-basis:calc(66.66667% - 0.66667rem)}.tlt .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tlt .sm\:grid-cols-\[minmax\(0\2c 14rem\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(0,14rem) minmax(0,1fr)}.tlt .sm\:flex-row{flex-direction:row}.tlt .sm\:flex-wrap{flex-wrap:wrap}.tlt .sm\:justify-start{justify-content:flex-start}.tlt .sm\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.tlt .sm\:p-10{padding:2.5rem}.tlt .sm\:p-12{padding:3rem}.tlt .sm\:p-5{padding:1.25rem}.tlt .sm\:p-6{padding:1.5rem}.tlt .sm\:p-7{padding:1.75rem}.tlt .sm\:p-8{padding:2rem}.tlt .sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.tlt .sm\:px-12{padding-left:3rem;padding-right:3rem}.tlt .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.tlt .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.tlt .sm\:px-8{padding-left:2rem;padding-right:2rem}.tlt .sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.tlt .sm\:pr-16{padding-right:4rem}.tlt .sm\:pt-24{padding-top:6rem}.tlt .sm\:pt-8{padding-top:2rem}.tlt .sm\:text-left{text-align:left}.tlt .sm\:text-2xl{font-size:1.5rem;line-height:2rem}.tlt .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.tlt .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.tlt .sm\:text-5xl{font-size:3rem;line-height:1}.tlt .sm\:text-base{font-size:1rem;line-height:1.5rem}.tlt .sm\:text-lg{font-size:1.125rem}.tlt .sm\:text-lg,.tlt .sm\:text-xl{line-height:1.75rem}.tlt .sm\:text-xl{font-size:1.25rem}}@media (min-width:768px){.tlt .md\:static{position:static}.tlt .md\:col-span-12{grid-column:span 12/span 12}.tlt .md\:col-span-5{grid-column:span 5/span 5}.tlt .md\:col-span-7{grid-column:span 7/span 7}.tlt .md\:mt-0{margin-top:0}.tlt .md\:block{display:block}.tlt .md\:flex{display:flex}.tlt .md\:hidden{display:none}.tlt .md\:shrink-0{flex-shrink:0}.tlt .md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.tlt .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tlt .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tlt .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tlt .md\:flex-row{flex-direction:row}.tlt .md\:items-center{align-items:center}.tlt .md\:justify-center{justify-content:center}.tlt .md\:justify-between{justify-content:space-between}.tlt .md\:gap-6{gap:1.5rem}.tlt .md\:gap-7{gap:1.75rem}.tlt .md\:gap-8{gap:2rem}.tlt .md\:border-0{border-width:0}.tlt .md\:bg-transparent{background-color:transparent}.tlt .md\:p-0{padding:0}}@media (min-width:1024px){.tlt .lg\:order-first{order:-9999}.tlt .lg\:order-none{order:0}.tlt .lg\:col-span-1{grid-column:span 1/span 1}.tlt .lg\:col-span-2{grid-column:span 2/span 2}.tlt .lg\:col-span-5{grid-column:span 5/span 5}.tlt .lg\:col-span-6{grid-column:span 6/span 6}.tlt .lg\:col-span-7{grid-column:span 7/span 7}.tlt .lg\:col-start-1{grid-column-start:1}.tlt .lg\:col-start-2{grid-column-start:2}.tlt .lg\:col-start-6{grid-column-start:6}.tlt .lg\:col-start-7{grid-column-start:7}.tlt .lg\:row-span-2{grid-row:span 2/span 2}.tlt .lg\:row-span-3{grid-row:span 3/span 3}.tlt .lg\:row-start-1{grid-row-start:1}.tlt .lg\:row-start-2{grid-row-start:2}.tlt .lg\:mx-8{margin-left:2rem;margin-right:2rem}.tlt .lg\:mb-8{margin-bottom:2rem}.tlt .lg\:mt-1\.5{margin-top:.375rem}.tlt .lg\:mt-12{margin-top:3rem}.tlt .lg\:block{display:block}.tlt .lg\:aspect-\[3\/4\]{aspect-ratio:3/4}.tlt .lg\:aspect-\[4\/5\]{aspect-ratio:4/5}.tlt .lg\:aspect-auto{aspect-ratio:auto}.tlt .lg\:size-11{width:2.75rem;height:2.75rem}.tlt .lg\:size-6{width:1.5rem;height:1.5rem}.tlt .lg\:h-full{height:100%}.tlt .lg\:min-h-\[44rem\]{min-height:44rem}.tlt .lg\:w-full{width:100%}.tlt .lg\:max-w-none{max-width:none}.tlt .lg\:basis-\[calc\(\(100\%-2rem\)\/2\.5\)\]{flex-basis:calc(40% - 0.8rem)}.tlt .lg\:rotate-0{--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))}.tlt .lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tlt .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.tlt .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tlt .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tlt .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tlt .lg\:grid-cols-\[1\.1fr_1fr_0\.9fr\]{grid-template-columns:1.1fr 1fr .9fr}.tlt .lg\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.tlt .lg\:grid-cols-\[1\.3fr_auto_1fr\]{grid-template-columns:1.3fr auto 1fr}.tlt .lg\:grid-cols-\[1fr_1\.1fr_1fr\]{grid-template-columns:1fr 1.1fr 1fr}.tlt .lg\:grid-cols-\[1fr_auto_14rem\]{grid-template-columns:1fr auto 14rem}.tlt .lg\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.tlt .lg\:grid-cols-\[minmax\(0\2c 17rem\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(0,17rem) minmax(0,1fr)}.tlt .lg\:grid-cols-\[minmax\(0\2c 19rem\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(0,19rem) minmax(0,1fr)}.tlt .lg\:grid-cols-\[minmax\(18rem\2c 28rem\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(18rem,28rem) minmax(0,1fr)}.tlt .lg\:grid-cols-\[repeat\(3\2c minmax\(0\2c 1fr\)\)_15rem\]{grid-template-columns:repeat(3,minmax(0,1fr)) 15rem}.tlt .lg\:flex-col{flex-direction:column}.tlt .lg\:items-center{align-items:center}.tlt .lg\:items-stretch{align-items:stretch}.tlt .lg\:gap-10{gap:2.5rem}.tlt .lg\:gap-12{gap:3rem}.tlt .lg\:gap-14{gap:3.5rem}.tlt .lg\:gap-16{gap:4rem}.tlt .lg\:gap-6{gap:1.5rem}.tlt .lg\:gap-8{gap:2rem}.tlt .lg\:gap-x-14{-moz-column-gap:3.5rem;column-gap:3.5rem}.tlt .lg\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.tlt .lg\:gap-y-10{row-gap:2.5rem}.tlt .lg\:self-start{align-self:flex-start}.tlt .lg\:self-end{align-self:flex-end}.tlt .lg\:self-stretch{align-self:stretch}.tlt .lg\:border-t-0{border-top-width:0}.tlt .lg\:object-\[50\%_40\%\]{-o-object-position:50% 40%;object-position:50% 40%}.tlt .lg\:object-\[50\%_50\%\]{-o-object-position:50% 50%;object-position:50% 50%}.tlt .lg\:object-\[60\%_45\%\]{-o-object-position:60% 45%;object-position:60% 45%}.tlt .lg\:p-10{padding:2.5rem}.tlt .lg\:p-14{padding:3.5rem}.tlt .lg\:p-7{padding:1.75rem}.tlt .lg\:p-8{padding:2rem}.tlt .lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.tlt .lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.tlt .lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.tlt .lg\:px-8{padding-left:2rem;padding-right:2rem}.tlt .lg\:py-0{padding-top:0;padding-bottom:0}.tlt .lg\:py-12{padding-top:3rem;padding-bottom:3rem}.tlt .lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.tlt .lg\:py-16{padding-top:4rem;padding-bottom:4rem}.tlt .lg\:py-20{padding-top:5rem;padding-bottom:5rem}.tlt .lg\:py-24{padding-top:6rem;padding-bottom:6rem}.tlt .lg\:py-4{padding-top:1rem;padding-bottom:1rem}.tlt .lg\:py-8{padding-top:2rem;padding-bottom:2rem}.tlt .lg\:pb-20{padding-bottom:5rem}.tlt .lg\:pb-24{padding-bottom:6rem}.tlt .lg\:pb-28{padding-bottom:7rem}.tlt .lg\:pb-32{padding-bottom:8rem}.tlt .lg\:pt-0{padding-top:0}.tlt .lg\:pt-10{padding-top:2.5rem}.tlt .lg\:pt-12{padding-top:3rem}.tlt .lg\:pt-16{padding-top:4rem}.tlt .lg\:pt-20{padding-top:5rem}.tlt .lg\:pt-24{padding-top:6rem}.tlt .lg\:pt-28{padding-top:7rem}.tlt .lg\:pt-6{padding-top:1.5rem}.tlt .lg\:pt-9{padding-top:2.25rem}.tlt .lg\:text-center{text-align:center}.tlt .lg\:text-5xl{font-size:3rem;line-height:1}.tlt .lg\:text-6xl{font-size:3.75rem;line-height:1}.tlt .lg\:text-\[3\.4rem\]{font-size:3.4rem}.tlt .lg\:leading-\[1\.08\]{line-height:1.08}.tlt .lg\:tracking-\[0\.12em\]{letter-spacing:.12em}}@media (min-width:1100px){.tlt .min-\[1100px\]\:static{position:static}.tlt .min-\[1100px\]\:ml-3{margin-left:.75rem}.tlt .min-\[1100px\]\:ml-auto{margin-left:auto}.tlt .min-\[1100px\]\:block{display:block}.tlt .min-\[1100px\]\:inline-flex{display:inline-flex}.tlt .min-\[1100px\]\:hidden{display:none}.tlt .min-\[1100px\]\:max-h-none{max-height:none}.tlt .min-\[1100px\]\:min-h-11{min-height:2.75rem}.tlt .min-\[1100px\]\:flex-row{flex-direction:row}.tlt .min-\[1100px\]\:items-center{align-items:center}.tlt .min-\[1100px\]\:gap-1{gap:.25rem}.tlt .min-\[1100px\]\:overflow-visible{overflow:visible}.tlt .min-\[1100px\]\:border-0{border-width:0}.tlt .min-\[1100px\]\:bg-transparent{background-color:transparent}.tlt .min-\[1100px\]\:p-0{padding:0}.tlt .min-\[1100px\]\:text-sm{font-size:.875rem;line-height:1.25rem}.tlt .min-\[1100px\]\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:1280px){.tlt .xl\:inline{display:inline}.tlt .xl\:hidden{display:none}.tlt .xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.tlt .xl\:text-6xl{font-size:3.75rem;line-height:1}}
/* 2. Shared homepage CSS (reset, sections, Contact Form 7, articles) */
.tlt{all:initial;display:block;width:100%;max-width:none;margin:0;font-family:Outfit,'Avenir Next','Segoe UI',sans-serif;color:#111;background:#F7F7F5;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
.tlt *,.tlt ::before,.tlt ::after{box-sizing:border-box;border:0 solid #E9E9E6}
:where(.tlt) :where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,dl,dd){margin:0;padding:0}
:where(.tlt) :where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;color:inherit}
:where(.tlt) :where(ul,ol){list-style:none}
:where(.tlt) :where(a){color:inherit;text-decoration:inherit}
:where(.tlt) :where(img,svg,video){display:block;vertical-align:middle}
:where(.tlt) :where(img,video){max-width:100%;height:auto}
:where(.tlt) :where(button,input,select,textarea){font:inherit;color:inherit;margin:0;line-height:inherit;letter-spacing:inherit}
:where(.tlt) :where(button){background:transparent;cursor:pointer;padding:0}
:where(.tlt) [hidden]:where(:not([hidden="until-found"])){display:none}
html:has(.tlt){scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html:has(.tlt){scroll-behavior:auto}}
/* Let our page run full width inside Twenty Twenty-Five */
:where(.wp-site-blocks,.wp-block-post-content,.entry-content,.is-layout-constrained,.is-layout-flow):has(.tlt){max-width:none!important;padding:0!important;margin:0!important}
:where(.is-layout-constrained,.wp-block-post-content):has(> .tlt) > .tlt{max-width:none!important;margin:0!important}
/* Contact Form 7, styled to match */
.tlt .tlt-cf7 p{margin:0}
.tlt .tlt-cf7 br{display:none}
.tlt .tlt-cf7-scan label{display:block;margin-top:1.1rem;font-size:.875rem;font-weight:600}
.tlt .tlt-cf7 .wpcf7-form-control-wrap{display:block;margin-top:.25rem}
.tlt .tlt-cf7 input[type=url],.tlt .tlt-cf7 input[type=email],.tlt .tlt-cf7 input[type=text]{width:100%;border-radius:.75rem;background:#F7F7F5;padding:.75rem 1rem;font-size:.875rem;box-shadow:0 0 0 1px #E9E9E6;outline:none}
.tlt .tlt-cf7 input:focus{box-shadow:0 0 0 2px #54EDE2}
.tlt .tlt-cf7 input[type=submit]{display:flex;width:100%;justify-content:center;border-radius:9999px;background:#111;color:#F7F7F5;padding:.875rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer}
.tlt .tlt-cf7 input[type=submit]:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #54EDE2}
.tlt .tlt-cf7-scan input[type=submit]{margin-top:1.5rem}
.tlt .tlt-cf7 input[type=url],.tlt .tlt-cf7 input[type=email]{font-weight:400}
.tlt .tlt-cf7-scan{flex:1;display:flex;flex-direction:column}.tlt .tlt-cf7-scan .wpcf7,.tlt .tlt-cf7-scan form{flex:1;display:flex;flex-direction:column}.tlt .tlt-cf7-scan form > p:has(.tlt-submit-wrap){margin-top:auto}
.tlt .tlt-cf7-news form,.tlt .tlt-cf7-news form > p{display:flex;flex-direction:column;gap:.75rem}
@media (min-width:640px){.tlt .tlt-cf7-news form > p{flex-direction:row;align-items:center}.tlt .tlt-cf7-news .tlt-submit-wrap{flex-shrink:0}.tlt .tlt-cf7-news .wpcf7-form-control-wrap{flex:1;min-width:0;margin:0}.tlt .tlt-cf7-news input[type=submit]{width:auto}}
.tlt .tlt-cf7-news input[type=email]{border-radius:9999px;background:#fff}
.tlt .tlt-cf7 .wpcf7-not-valid-tip{margin-top:.3rem;font-size:.75rem;font-weight:600;color:#c2672a}
.tlt .tlt-cf7 input.wpcf7-not-valid{box-shadow:0 0 0 2px #F3A56B}
.tlt .tlt-cf7 .wpcf7-spinner{display:none!important}
.tlt .tlt-cf7 form.submitting input[type=submit]{opacity:.6;cursor:progress;color:transparent;animation:none;background-image:radial-gradient(circle,transparent 45%,transparent 46%),conic-gradient(#54EDE2 0 25%,rgba(84,237,226,.2) 0);background-size:18px 18px;background-position:center;background-repeat:no-repeat;-webkit-mask:none}
.tlt .tlt-cf7 .tlt-busy{position:relative}
.tlt .tlt-cf7 form.submitting .tlt-submit-wrap::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:2px solid rgba(84,237,226,.25);border-top-color:#54EDE2;animation:tlt-spin .8s linear infinite}
.tlt .tlt-cf7 .tlt-submit-wrap{position:relative}
.tlt .tlt-cf7 form.submitting input[type=submit]{background:#111!important;color:transparent!important}
@keyframes tlt-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.tlt .tlt-cf7 form.submitting .tlt-submit-wrap::after{animation:none;border-color:#54EDE2}}
.tlt .tlt-cf7 .wpcf7-response-output{margin:1rem 0 0!important;padding:.75rem 1rem!important;border:0!important;border-left:4px solid #F3A56B!important;border-radius:.75rem;background:#fff;color:#111;font-size:.8rem;font-weight:600;flex-basis:100%;box-shadow:0 0 0 1px #E9E9E6}
.tlt .tlt-cf7 form.sent .wpcf7-response-output{border-left-color:#54EDE2!important}
.tlt .tlt-cf7 form.init .wpcf7-response-output,.tlt .tlt-cf7 .wpcf7-response-output:empty{display:none}
.tlt .tlt-cf7 .wpcf7-turnstile,.tlt .tlt-cf7 .cf-turnstile{display:flex;justify-content:center;margin-top:1rem;flex-basis:100%;max-width:100%;overflow:hidden}
@media (max-width:360px){.tlt .tlt-cf7 .wpcf7-turnstile iframe,.tlt .tlt-cf7 .cf-turnstile iframe{transform:scale(.85);transform-origin:center top}}
.tlt .tlt-cf7-news .wpcf7-turnstile,.tlt .tlt-cf7-news .cf-turnstile{order:10;justify-content:flex-start}


    .glow-card, .glow-soft, .glow-aqua {
      transition: transform 200ms ease, box-shadow 200ms ease;
    }
    .glow-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 22px 44px -20px rgba(243, 165, 107, 0.72), 0 10px 24px -18px rgba(17, 17, 17, 0.28);
    }
    .glow-soft:hover {
      transform: translateY(-4px);
      box-shadow: 0 18px 36px -22px rgba(17, 17, 17, 0.35), 0 8px 18px -16px rgba(17, 17, 17, 0.18);
    }
    .glow-aqua:hover {
      transform: translateY(-4px);
      box-shadow: 0 22px 44px -18px rgba(84, 237, 226, 0.55), 0 10px 24px -18px rgba(17, 17, 17, 0.22);
    }
    .bento-box { transition: box-shadow 200ms ease, border-color 200ms ease; }
    .bento-box:hover { border-color: rgba(84,237,226,0.35); box-shadow: 0 0 0 1px rgba(84,237,226,0.15), 0 24px 48px -24px rgba(84,237,226,0.35); }
    .hero-art .slab text.label { text-anchor: middle; dominant-baseline: middle; font-weight: 700; font-family: Arial, Helvetica, sans-serif; }
    .hero-art .h2-slab { pointer-events: auto; cursor: pointer; outline: none; transition: filter 180ms ease; }
    .hero-art .h2-slab:hover, .hero-art .h2-slab:focus-visible { filter: drop-shadow(0 0 6px rgba(84,237,226,0.9)); }
    .hero-art .h2-slab.is-selected { filter: drop-shadow(0 0 10px rgba(84,237,226,1)) drop-shadow(0 8px 10px rgba(17,17,17,0.35)); }
    .hero-art .h2-slab.is-selected > .hero-pulse { animation-play-state: paused; translate: 0 -6px; transition: translate 180ms ease; }
    .hero-tip { position: absolute; z-index: 20; width: 15rem; }
    @media (prefers-reduced-motion: reduce) {
      .hero-art .h2-slab, .hero-art .h2-slab.is-selected > .hero-pulse { transition: none; translate: none; }
    }
    .hero-band { overflow-x: clip; overflow-y: visible; }
    .hero-art {
      position: relative;
      width: min(100%, 36rem);
      margin-inline: auto;
      overflow: visible;
    }
    @media (min-width: 1024px) {
      /* ~1.6× prior max-w-6xl half-column art, aspect locked via photo */
      .hero-art {
        width: min(100%, 57.6rem);
        margin-inline: 0;
        justify-self: end;
      }
    }
    .hero-photo {
      position: relative;
      z-index: 0;
      overflow: hidden;
      aspect-ratio: 1280 / 720;
      border-radius: 1.75rem;
      box-shadow: 0 16px 40px -28px rgba(17,17,17,0.45);
    }
    .hero-photo > img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .hero-overlay {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      overflow: visible;
      pointer-events: none;
    }
    @media (min-width: 1024px) {
      .hero-overlay { width: 120%; }
    }
    .hero-pulse { animation: hero-toward-center var(--dur, 9s) ease-in-out infinite; animation-delay: var(--delay, 0s); }
    @keyframes hero-toward-center {
      0%, 100% { transform: translate(0, 0); }
      50% { transform: translate(var(--dx), var(--dy)); }
    }
    .hero-art .slab:hover .front { filter: brightness(1.06); }
    @media (prefers-reduced-motion: reduce) {
      .glow-card, .glow-card:hover,
      .glow-soft, .glow-soft:hover,
      .glow-aqua, .glow-aqua:hover { transition: none; transform: none; box-shadow: none; }
      .hero-pulse { animation: none !important; }
      
    }
    /* Free scan motion */
    @property --scan-a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
    .scan-border { background: conic-gradient(from var(--scan-a), rgba(84,237,226,.35) 0deg, rgba(84,237,226,.35) 300deg, #54EDE2 330deg, #fff 345deg, rgba(84,237,226,.35) 360deg); animation: scan-spin 6s linear infinite; }
    @keyframes scan-spin { to { --scan-a: 360deg; } }
    .scan-border-slow { animation-duration: 11s; }
    .scan-breathe, .tlt .tlt-cf7-scan input[type=submit] { animation: scan-breathe 2.8s ease-in-out infinite; }
    .scan-breathe.is-still, .tlt .tlt-cf7-scan input[type=submit].is-still { animation: none; }
    @keyframes scan-breathe { 0%,100% { box-shadow: 0 0 0 0 rgba(84,237,226,0); } 50% { box-shadow: 0 0 22px 2px rgba(84,237,226,.45); } }
    .scan-drift { transform: rotate(2deg); animation: scan-drift 7s ease-in-out infinite; }
    @keyframes scan-drift { 0%,100% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(.5deg) translateY(-6px); } }
    .scan-anim .scan-rise { opacity: 0; transform: translateY(24px); transition: opacity .6s ease-out, transform .6s ease-out; transition-delay: var(--r,0s); }
    .scan-anim.is-in .scan-rise { opacity: 1; transform: none; }
    .scan-anim .scan-tick { opacity: 0; transform: scale(.4); transition: opacity .35s ease-out, transform .35s cubic-bezier(.3,1.6,.5,1); transition-delay: var(--d,0s); }
    .scan-anim.is-in .scan-tick { opacity: 1; transform: none; }
    @media (prefers-reduced-motion: reduce) {
      .scan-border, .scan-breathe, .scan-drift { animation: none; }
      .scan-border { background: rgba(84,237,226,.4); }
      .scan-anim .scan-rise, .scan-anim .scan-tick { opacity: 1; transform: none; transition: none; }
    }
    .founder-anim .founder-rise { opacity: 0; transform: translateY(24px); transition: opacity .7s ease-out, transform .7s ease-out; transition-delay: var(--r,0s); }
    .founder-anim.is-in .founder-rise { opacity: 1; transform: none; }
    @media (prefers-reduced-motion: reduce) { .founder-anim .founder-rise { opacity: 1; transform: none; transition: none; } }
    /* Free scan row: dark form card with deep aqua gradient (picked 2026-10-17) */
    [data-scan] .scan-side-l { background: #E9E9E6 !important; }
    [data-scan] .scan-form-shell { padding: 2px !important; box-shadow: 0 0 0 1px rgba(84,237,226,.25), 0 18px 60px -12px rgba(84,237,226,.6) !important; }
    [data-scan] .scan-form { border-radius: calc(1.75rem - 2px) !important; }
    [data-scan] .scan-free { font-size: .875rem !important; padding: .375rem 1rem !important; }
    [data-scan=dark] .scan-form { background: #111111 !important; color: #F7F7F5; }
    [data-scan=dark] .scan-form h3, [data-scan=dark] .scan-form label { color: #FFFFFF !important; }
    [data-scan=dark] .scan-form p { color: rgba(247,247,245,.82) !important; }
    [data-scan=dark] .scan-form [data-scan-error], [data-scan=dark] .scan-form .wpcf7-not-valid-tip { color: #FF9B8F !important; }
    [data-scan=dark] .scan-form input:not([type=submit]) { background: #232323 !important; color: #FFFFFF !important; box-shadow: inset 0 0 0 1px #8C8C88 !important; }
    [data-scan=dark] .scan-form input::placeholder { color: #B7B7B3 !important; }
    [data-scan=dark] .scan-form input:not([type=submit]):focus { box-shadow: inset 0 0 0 2px #54EDE2 !important; }
    [data-scan=dark] .scan-form button[type=submit], [data-scan=dark] .scan-form input[type=submit] { background: #54EDE2 !important; color: #111111 !important; }
    [data-scan=dark] .scan-form button[type=submit]:focus-visible, [data-scan=dark] .scan-form input[type=submit]:focus-visible { box-shadow: 0 0 0 2px #111111, 0 0 0 4px #FFFFFF !important; }
    [data-scan-bg="2"] .scan-form { background: radial-gradient(120% 80% at 100% 0%, #0F3B38 0%, #111111 58%) !important; }
  
    /* Service cards: group pill, color, per-card blob, hover/focus/centered state (2026-10-18). Shared by homepage carousel and Services page. */
    .svc-card{position:relative;isolation:isolate;overflow:hidden;border:2px solid transparent;transition:border-color .25s ease}
    .svc-card[data-group=acc]{--blob:84,237,226;--a1:.42;--a2:.26;--ring:#54EDE2;--pill:#C8F7F3;--pill-text:#111;--icon-bg:#E3FBF9;--icon:#111;--icon-border:#3FCFC4}
    .svc-card[data-group=web]{--blob:96,118,140;--a1:.24;--a2:.16;--ring:#6E7F90;--pill:#E2E2DF;--pill-text:#111;--icon-bg:#EEF0F2;--icon:#111;--icon-border:#B7BEC6}
    .svc-card[data-group=ai]{--blob:84,237,226;--blob2:243,165,107;--a1:.34;--a2:.26;--ring:#54EDE2;--pill:linear-gradient(90deg,#C8F7F3 0%,#FCE2CF 100%);--pill-text:#111;--icon-bg:#E3FBF9;--icon:#111;--icon-border:#9FE3DD}
    .svc-card[data-group=grow]{--blob:243,165,107;--a1:.30;--a2:.18;--ring:#F3A56B;--pill:#FCE2CF;--pill-text:#111;--icon-bg:#FEF0E6;--icon:#111;--icon-border:#F3C29C}
    /* Two large, soft washes per card (corner glow + smaller counter-glow), long smooth falloff so nothing reads as a spot */
    .svc-card::before{content:"";position:absolute;inset:-10%;z-index:-1;pointer-events:none;
      background:radial-gradient(130% 110% at var(--bx,85%) var(--by,10%),rgba(var(--blob),var(--a1)) 0%,rgba(var(--blob),calc(var(--a1)*.55)) 28%,rgba(var(--blob),calc(var(--a1)*.18)) 52%,rgba(var(--blob),0) 72%),
                 radial-gradient(90% 80% at var(--b2x,10%) var(--b2y,95%),rgba(var(--blob2,var(--blob)),var(--a2)) 0%,rgba(var(--blob2,var(--blob)),calc(var(--a2)*.5)) 30%,rgba(var(--blob2,var(--blob)),0) 68%);
      transition:transform .8s ease,opacity .3s ease;opacity:.9}
    .svc-card:hover,.svc-card:focus-within,.svc-card.is-active,.svc-card.is-match{border-color:var(--ring)}
    .svc-card:hover::before,.svc-card:focus-within::before,.svc-card.is-active::before{opacity:1;transform:translate(var(--dx,-4%),var(--dy,4%))}
    .svc-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .7rem;font-size:.7rem;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase;background:var(--pill);color:var(--pill-text)}
    /* Icon tile: subtle group-tinted border (padding-box/border-box double background so AI can use a gradient edge) + faint inner highlight */
    .svc-icon{box-sizing:border-box;border:1px solid transparent;color:var(--icon,#111);box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
      background:linear-gradient(var(--icon-bg,#F7F7F5),var(--icon-bg,#F7F7F5)) padding-box,linear-gradient(var(--icon-border,rgba(17,17,17,.16)),var(--icon-border,rgba(17,17,17,.16))) border-box}
    .svc-card[data-group=ai] .svc-icon{background:linear-gradient(135deg,#E3FBF9 0%,#FEF0E6 100%) padding-box,linear-gradient(135deg,#6FDDD4 0%,#F0B98F 100%) border-box}
    .tlt .svc-link{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--ring)}
    .svc-link svg{transition:transform .2s ease,color .2s ease}
    .svc-card:hover .svc-link,.svc-card:focus-within .svc-link,.svc-card.is-active .svc-link{text-decoration-color:#F3A56B}
    .svc-card:hover .svc-link svg,.svc-card:focus-within .svc-link svg,.svc-card.is-active .svc-link svg{transform:translateX(4px);color:#F3A56B}
    .svc-match{display:inline-flex;align-items:center;border-radius:999px;background:#111;color:#fff;padding:.25rem .6rem;font-size:.7rem;font-weight:700;line-height:1}
    .svc-match[hidden]{display:none}
    /* Services hub (2026-10-18 hub fixes): neutral problem chips + colored group links on the charcoal intro band, decorative group dots */
    .hub-chip{display:inline-flex;align-items:center;gap:.55rem;text-align:left;min-height:2.75rem;border-radius:999px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;background:#fff;color:#111;border:2px solid #B7B7B3;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
    .hub-chip:hover{background:#F7F7F5;border-color:#fff}
    .hub-chip[aria-pressed=true]{background:#111;color:#fff;border-color:#fff}
    .hub-chip:focus-visible,.tlt .hub-group:focus-visible{outline:2px solid #54EDE2;outline-offset:3px}
    .tlt .hub-group{display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;border-radius:999px;padding:.5rem 1rem;font-size:.75rem;font-weight:700;line-height:1;letter-spacing:.12em;text-transform:uppercase;background:var(--pill);color:#111;text-decoration:none;border:2px solid transparent}
    .tlt .hub-group:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
    .hub-dots{display:inline-flex;gap:3px}
    .hub-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--dot);box-shadow:0 0 0 1px rgba(17,17,17,.3)}
    .hub-chip[aria-pressed=true] .hub-dot{box-shadow:0 0 0 1px rgba(255,255,255,.55)}
    .hub-dot[data-g=acc]{--dot:#54EDE2}.hub-dot[data-g=web]{--dot:#6E7F90}.hub-dot[data-g=ai]{--dot:linear-gradient(135deg,#54EDE2 0%,#F3A56B 100%)}.hub-dot[data-g=grow]{--dot:#F3A56B}
    @media (prefers-reduced-motion: reduce){.svc-card,.svc-card::before,.svc-link svg,.hub-chip{transition:none}
      .svc-card:hover::before,.svc-card:focus-within::before,.svc-card.is-active::before,.svc-card:hover .svc-link svg,.svc-card:focus-within .svc-link svg,.svc-card.is-active .svc-link svg{transform:none}}
  
/* Query Loop: Helpful Articles (block class tlt-articles) */
.wp-block-query.tlt-articles{max-width:none!important;margin:0!important;background:#E9E9E6;padding:0 1.25rem 4rem;font-family:Outfit,'Avenir Next','Segoe UI',sans-serif;color:#111;-webkit-font-smoothing:antialiased}
@media (min-width:1024px){.wp-block-query.tlt-articles{padding-bottom:5rem}}
.tlt-articles *,.tlt-articles ::before,.tlt-articles ::after{box-sizing:border-box}
.tlt-articles > .wp-block-post-template{display:grid!important;grid-template-columns:1fr;gap:1rem;max-width:69.5rem;margin:0 auto!important;padding:2.5rem 1.5rem 1.5rem!important;list-style:none;background:#fff;border-radius:0 0 2rem 2rem;box-shadow:0 16px 40px -28px rgba(17,17,17,.45)}
@media (min-width:640px){.tlt-articles > .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr));padding:2.5rem 2rem 2rem!important}}
@media (min-width:1024px){.tlt-articles > .wp-block-post-template{grid-template-columns:repeat(4,minmax(0,1fr));padding:2.5rem!important}}
.tlt-articles .wp-block-post{display:flex;flex-direction:column;overflow:hidden;margin:0!important;border-radius:1.5rem;background:#F7F7F5;box-shadow:0 0 0 1px #E9E9E6,0 16px 40px -28px rgba(17,17,17,.45);transition:transform .2s ease,box-shadow .2s ease;width:auto!important}
.tlt-articles .wp-block-post:hover{transform:translateY(-6px);box-shadow:0 0 0 1px #E9E9E6,0 22px 44px -20px rgba(243,165,107,.72),0 10px 24px -18px rgba(17,17,17,.28)}
.tlt-articles .wp-block-post > *{margin:0 1.25rem!important}
.tlt-articles .wp-block-post > .wp-block-post-featured-image{margin:0!important;aspect-ratio:4/3;overflow:hidden}
.tlt-articles .wp-block-post-featured-image img,.tlt-articles .wp-block-post-featured-image a{display:block;width:100%!important;height:100%!important;object-fit:cover}
.tlt-articles .wp-block-post:not(:has(.wp-block-post-featured-image))::before{content:"";display:block;aspect-ratio:4/3;background:linear-gradient(to bottom right,#E9E9E6,rgba(183,183,179,.4))}
.tlt-articles .wp-block-post:nth-child(4n+2):not(:has(.wp-block-post-featured-image))::before{background:linear-gradient(to bottom right,rgba(243,165,107,.25),#E9E9E6)}
.tlt-articles .wp-block-post:nth-child(4n+3):not(:has(.wp-block-post-featured-image))::before{background:linear-gradient(to bottom right,rgba(183,183,179,.5),#F7F7F5)}
.tlt-articles .wp-block-post:nth-child(4n+4):not(:has(.wp-block-post-featured-image))::before{background:linear-gradient(to bottom right,rgba(84,237,226,.3),#E9E9E6)}
.tlt-articles .wp-block-post-terms{margin-top:1.25rem!important;font-size:0;line-height:1}
.tlt-articles .wp-block-post-terms a{display:inline-flex;border-radius:9999px;background:rgba(84,237,226,.2);padding:.2rem .65rem;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#111;text-decoration:none}
.tlt-articles .wp-block-post:nth-child(4n+2) .wp-block-post-terms a{background:rgba(243,165,107,.25)}
.tlt-articles .wp-block-post:nth-child(4n+3) .wp-block-post-terms a{background:rgba(183,183,179,.4)}
.tlt-articles .wp-block-post-terms__separator{display:none}
.tlt-articles .wp-block-post-title{margin-top:.75rem!important;font-family:inherit;font-size:.875rem!important;font-weight:700;line-height:1.375;letter-spacing:normal}
.tlt-articles .wp-block-post-title a{color:inherit;text-decoration:none}
.tlt-articles .wp-block-post-excerpt{flex:1;margin-top:.5rem!important}
.tlt-articles .wp-block-post-excerpt__excerpt{margin:0;font-size:.75rem;line-height:1.625;color:rgba(17,17,17,.65)}
.tlt-articles .wp-block-post-excerpt__more-text,.tlt-articles .wp-block-read-more{margin-top:1rem!important;margin-bottom:1.25rem!important}
.tlt-articles .wp-block-post-excerpt__more-link,.tlt-articles .wp-block-read-more{display:inline-block;font-size:.875rem;font-weight:600;color:#1fb8ad;text-decoration:underline;text-decoration-color:rgba(84,237,226,.5);text-underline-offset:4px}
.tlt-articles .wp-block-post > :last-child{margin-bottom:1.25rem!important}
.tlt-articles a:focus-visible{outline:none;box-shadow:0 0 0 2px #54EDE2;border-radius:4px}
@media (prefers-reduced-motion: reduce){.tlt-articles .wp-block-post,.tlt-articles .wp-block-post:hover{transition:none;transform:none}}

/* 3. Theme CSS (tools/theme/src/theme.css) */
/* ==========================================================================
   Techy Like That child theme: styles for template parts and core-block pages.
   Appended to assets/tlt.css after the compiled Tailwind and the shared
   homepage CSS (reset, homepage styles, Contact Form 7, .tlt-articles).
   Brand: charcoal #111111, paper #F7F7F5, mist #E9E9E6, aqua #54EDE2,
   signal #F3A56B, cool #B7B7B3. Aqua/signal are never used as text on light
   backgrounds; text on them is charcoal.
   ========================================================================== */

/* ---------- 1. Base ---------- */
body {
  margin: 0;
  font-family: Outfit, 'Avenir Next', 'Segoe UI', sans-serif;
  color: #111;
  background: #F7F7F5;
  -webkit-font-smoothing: antialiased;
}

/* Twenty Twenty-Five global styles style every link and heading
   (underline, sizes, letter-spacing). Inside our .tlt wrappers the Tailwind
   classes decide, so neutralise those globals here (Tailwind utilities are
   .tlt .class and still win). */
.tlt a { color: inherit; text-decoration: none; }
.tlt :is(h1, h2, h3, h4, h5, h6) {
  margin: 0; font-family: inherit; font-size: inherit; font-weight: inherit;
  line-height: inherit; letter-spacing: inherit; color: inherit;
}

/* Visible focus everywhere outside .tlt (Tailwind ring classes handle .tlt):
   2px aqua outline with a charcoal halo, readable on light and dark bands. */
:where(.wp-site-blocks) :focus-visible {
  outline: 2px solid #54EDE2;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #111;
}

/* ---------- 2. Header template part ---------- */
header.tlt-site-header,
.wp-site-blocks > header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 40;
  margin: 0 !important;
}
body.admin-bar header.tlt-site-header,
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar header.tlt-site-header,
  body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; }
}
@media (max-width: 600px) { /* the admin bar scrolls away on small phones */
  body.admin-bar header.tlt-site-header,
  body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; }
}
/* Let the translucent bar show the page behind it. */
.tlt.tlt-header-wrap { background: transparent; }

/* Current page: charcoal, semibold, 2px aqua underline (decoration only). */
.tlt .tlt-nav-link { position: relative; }
.tlt .tlt-nav-link[aria-current="page"] { color: #111; font-weight: 600; }
.tlt .tlt-nav-link[aria-current="page"]::after {
  content: ""; position: absolute; left: .75rem; right: .75rem; bottom: .55rem;
  height: 2px; border-radius: 2px; background: #54EDE2;
}
@media (max-width: 1099px) {
  .tlt .tlt-nav-link[aria-current="page"]::after { right: auto; width: 2.5rem; bottom: .45rem; }
}
/* Solid charcoal pill: aqua glow on hover. */
.tlt .tlt-btn-glow { transition: box-shadow .2s ease; }
.tlt .tlt-btn-glow:hover { box-shadow: 0 0 0 3px rgba(84,237,226,.35), 0 10px 28px -8px rgba(84,237,226,.75); }

/* ---------- 3. Footer template part ---------- */
footer.tlt-site-footer,
.wp-site-blocks > footer.wp-block-template-part { margin: 0 !important; }
/* The Shortcode block may wrap the form in <p>; keep the CF7 layout intact. */
.tlt .tlt-cf7-news > p:empty { display: none; }

/* ---------- 4. Full-width landing and service templates ---------- */
main.tlt-landing,
main.tlt-landing > .wp-block-post-content {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
main.tlt-landing > .wp-block-post-content > .tlt,
main.tlt-landing > .wp-block-post-content > .wp-block-html > .tlt {
  max-width: none !important; width: 100%; margin: 0 !important;
}

/* ---------- 5. Regular pages (page.html) ---------- */
.tlt-page { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.tlt-page .tlt-page-title,
.tlt-404 .tlt-page-title {
  margin: 0 auto 2rem;
  font-size: clamp(2.25rem, 1.7rem + 2.2vw, 3rem);
  font-weight: 800; line-height: 1.1; letter-spacing: -.025em;
}

/* ---------- 6. Reading column for page/post content ---------- */
.wp-block-post-content.tlt-post {
  max-width: 68ch !important;
  margin-left: auto !important; margin-right: auto !important;
  font-size: 1.0625rem; line-height: 1.75; color: #111;
}
.tlt-post > * { max-width: 100% !important; }
.tlt-post > * + * { margin-block-start: 1.25em; }
.tlt-post :is(h2, h3, h4) { font-weight: 800; letter-spacing: -.02em; color: #111; }
.tlt-post h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem); line-height: 1.2; margin-block-start: 2.2em; }
.tlt-post h3 { font-size: 1.375rem; line-height: 1.3; font-weight: 700; margin-block-start: 1.8em; }
.tlt-post h4 { font-size: 1.125rem; line-height: 1.4; font-weight: 700; margin-block-start: 1.6em; }
.tlt-post :is(h2, h3, h4) + * { margin-block-start: .6em; }
.tlt-post a {
  color: #111; font-weight: 500;
  text-decoration: underline; text-decoration-color: #54EDE2;
  text-decoration-thickness: 2px; text-underline-offset: 3px;
}
.tlt-post a:hover { text-decoration-color: #111; }
.tlt-post ul, .tlt-post ol { padding-left: 1.4em; }
.tlt-post ul { list-style: disc; }
.tlt-post ol { list-style: decimal; }
.tlt-post li + li { margin-top: .4em; }
.tlt-post ul > li::marker { color: #54EDE2; font-size: 1.15em; } /* decoration only */
.tlt-post ol > li::marker { color: #111; font-weight: 700; }   /* numbers are text: charcoal */
.tlt-post blockquote,
.tlt-post .wp-block-quote {
  margin-inline: 0; padding: 1.1rem 1.5rem;
  border: 0; border-left: 4px solid #54EDE2; border-radius: 0 1rem 1rem 0;
  background: #E9E9E6; font-style: normal;
}
.tlt-post blockquote cite { display: block; margin-top: .5rem; font-size: .9rem; color: rgba(17,17,17,.75); font-style: normal; }
.tlt-post code { background: #E9E9E6; padding: .15em .4em; border-radius: .35rem; font-size: .9em; }
.tlt-post pre { background: #E9E9E6; padding: 1rem 1.25rem; border-radius: 1rem; overflow-x: auto; font-size: .9rem; line-height: 1.6; }
.tlt-post pre code { background: none; padding: 0; }
.tlt-post img { border-radius: 1rem; height: auto; max-width: 100%; }
.tlt-post figcaption { margin-top: .5rem; font-size: .875rem; color: rgba(17,17,17,.75); text-align: left; }
.tlt-post table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tlt-post :is(th, td) { border: 1px solid #B7B7B3; padding: .6rem .8rem; text-align: left; vertical-align: top; }
.tlt-post th { background: #E9E9E6; font-weight: 700; }
.tlt-post hr { border: 0; height: 2px; background: #E9E9E6; margin-block: 2.5em; }

/* ---------- 7. Single post ---------- */
.tlt-single { padding-top: 3rem !important; padding-bottom: 0 !important; }
.tlt-single-head { margin-bottom: 2rem; }
.tlt-single-terms { font-size: 0; line-height: 1; }
.tlt-single-terms a {
  display: inline-flex; align-items: center; min-height: 2rem; margin: 0 .35rem .35rem 0;
  border-radius: 9999px; background: rgba(84,237,226,.25); padding: .3rem .85rem;
  font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
  color: #111; text-decoration: none;
}
.tlt-single-terms a:hover { background: rgba(84,237,226,.45); }
.tlt-single-terms .wp-block-post-terms__separator { display: none; }
.tlt-single-title {
  margin-top: 1rem !important;
  font-size: clamp(2.25rem, 1.5rem + 3vw, 3.5rem);
  font-weight: 800; line-height: 1.08; letter-spacing: -.025em;
}
.tlt-single-date { margin-top: 1rem !important; font-size: .9375rem; color: rgba(17,17,17,.7); }
.tlt-single-image { margin: 0 auto 2.5rem !important; max-width: 69.5rem !important; }
.tlt-single-image img { width: 100%; border-radius: 1.5rem; object-fit: cover; }
/* No featured image: a soft gradient header instead. */
.tlt-single-article:not(:has(.wp-block-post-featured-image)) .tlt-single-head::after {
  content: ""; display: block; height: clamp(7rem, 18vw, 12rem); margin-top: 2rem;
  border-radius: 1.5rem;
  background: linear-gradient(120deg, rgba(84,237,226,.35), #E9E9E6 55%, rgba(243,165,107,.3));
}

/* Related posts ("More articles"). */
.tlt-related-title {
  max-width: 69.5rem !important; margin: 5rem auto 0 !important; padding: 0 .25rem;
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 800; letter-spacing: -.02em;
}

/* ---------- 8. .tlt-articles outside the homepage ---------- */
/* Homepage keeps its white card with a rounded bottom only (the heading
   card above it is rounded on top). Related + archive lists stand alone. */
.wp-block-query.tlt-articles.tlt-related { background: transparent; padding: 1.25rem 0 4rem; }
.wp-block-query.tlt-articles.tlt-archive-list { padding-top: 0; }
.tlt-related > .wp-block-post-template,
.tlt-archive-list > .wp-block-post-template { border-radius: 2rem; padding-top: 1.5rem !important; }
@media (min-width: 640px) {
  .tlt-related > .wp-block-post-template,
  .tlt-archive-list > .wp-block-post-template { padding-top: 2rem !important; }
}
@media (min-width: 1024px) {
  .tlt-related > .wp-block-post-template,
  .tlt-archive-list > .wp-block-post-template { padding-top: 2.5rem !important; }
}
.tlt-related .wp-block-post-template { background: #fff; }
/* Read more: charcoal text with an aqua underline (teal text fails contrast). */
.tlt-articles .wp-block-post-excerpt__more-link,
.tlt-articles .wp-block-read-more {
  color: #111; text-decoration: underline; text-decoration-color: #54EDE2;
  text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.tlt-articles .wp-block-read-more:hover { text-decoration-color: #111; }
.tlt-articles .wp-block-post-title { font-weight: 700; letter-spacing: normal; }
/* Taller tap targets for card links. */
.tlt-articles .wp-block-read-more { display: inline-flex; align-items: center; min-height: 2.75rem; margin-top: .25rem !important; margin-bottom: .5rem !important; }
.tlt-articles .wp-block-post > :last-child.wp-block-read-more { margin-bottom: .5rem !important; }
/* Darker error text inside CF7 forms (signal-orange text failed 4.5:1). */
.tlt .tlt-cf7 .wpcf7-not-valid-tip { color: #9a4a12; }

/* ---------- 9. Archive / posts page ---------- */
main.tlt-archive { padding: 0 !important; }
.tlt-archive-head { background: #E9E9E6; padding: 4rem 1.25rem 2.5rem !important; }
.tlt-archive-head > * { max-width: 69.5rem !important; margin-left: auto !important; margin-right: auto !important; }
.tlt-eyebrow {
  font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .22em;
  color: rgba(17,17,17,.7);
}
.tlt-archive-head :is(h1, .wp-block-query-title) {
  margin-top: .75rem !important; font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);
  font-weight: 800; line-height: 1.08; letter-spacing: -.025em;
}
.tlt-archive-head { text-align: center; }
.tlt-archive-head > p:not(.tlt-eyebrow) {
  max-width: 40rem !important; margin-top: 1rem !important;
  color: rgba(17,17,17,.78); font-size: 1.0625rem; line-height: 1.6;
}

/* Pagination: 44px pills, current page aqua with charcoal text. */
.tlt-pagination {
  max-width: 69.5rem; margin: 2rem auto 0 !important; gap: .5rem !important;
  flex-wrap: wrap; justify-content: center; font-family: inherit;
}
.tlt-pagination .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: .5rem; }
.tlt-pagination :is(a, .page-numbers) {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.75rem; min-height: 2.75rem; padding: 0 1rem; margin: 0 !important;
  border-radius: 9999px; background: #fff; color: #111; font-weight: 600; font-size: .9375rem;
  text-decoration: none; box-shadow: 0 0 0 1px #B7B7B3;
}
.tlt-pagination a:hover { box-shadow: 0 0 0 2px #111; }
.tlt-pagination .page-numbers.current { background: #54EDE2; color: #111; box-shadow: none; }
.tlt-pagination .page-numbers.dots { background: transparent; box-shadow: none; min-width: auto; padding: 0 .25rem; }
.tlt-pagination a:focus-visible { outline: 2px solid #54EDE2; outline-offset: 2px; box-shadow: 0 0 0 2px #111; }
.tlt-archive-list .wp-block-query-no-results { max-width: 69.5rem; margin: 0 auto; padding: 2rem; background: #fff; border-radius: 2rem; }

/* ---------- 10. 404 + search ---------- */
.tlt-404 p a { text-decoration: underline; text-decoration-color: #54EDE2; text-decoration-thickness: 2px; text-underline-offset: 3px; color: #111; }
.wp-block-search .wp-block-search__label { font-weight: 600; font-size: .9375rem; }
.wp-block-search .wp-block-search__inside-wrapper { gap: .5rem; border: 0; padding: 0; margin-top: .5rem; }
.wp-block-search .wp-block-search__input {
  min-height: 2.75rem; padding: .6rem 1.1rem; border: 0; border-radius: 9999px; background: #fff;
  box-shadow: 0 0 0 1px #B7B7B3; font: inherit; color: #111;
}
.wp-block-search .wp-block-search__input:focus { outline: 2px solid #54EDE2; outline-offset: 2px; box-shadow: 0 0 0 1px #111; }
.wp-block-search .wp-block-search__button {
  min-height: 2.75rem; margin: 0; padding: .6rem 1.4rem; border: 0; border-radius: 9999px;
  background: #111; color: #F7F7F5; font: inherit; font-weight: 600; cursor: pointer;
}
.wp-block-search .wp-block-search__button:hover { box-shadow: 0 0 0 3px rgba(84,237,226,.4); }

/* ---------- 11. Reading progress (single posts) ---------- */
.tlt-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: 3px; pointer-events: none; background: transparent; margin: 0 !important; }
.tlt-progress > span { display: block; width: 0; height: 100%; background: #54EDE2; transition: width .1s linear; }
body.admin-bar .tlt-progress { top: 32px; }
@media (max-width: 782px) { body.admin-bar .tlt-progress { top: 46px; } }

/* ---------- 12. Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .tlt .tlt-btn-glow, .tlt-progress > span { transition: none !important; }
  .tlt-articles .wp-block-post { transition: none !important; }
}

/* ---------- 13. Newsletter form with a visually hidden label ----------
   CF7 form: <label><span class="sr-only">Your email address</span>[email* ...]</label>
   The label becomes the flex item, so let it grow like the bare field did. */
.tlt .tlt-cf7-news form > p > label { display: block; min-width: 0; }
@media (min-width: 640px) { .tlt .tlt-cf7-news form > p > label { flex: 1; } }

/* Hide the category pill when the only term is Uncategorized */
.wp-block-post-terms:has(> a[href*="/category/uncategorized/"]):not(:has(> a:nth-of-type(2))){display:none}

/* ---------- 10. Services lead-tile accent (2026-10-18) ----------
   Fills the empty top of the tall lead tiles (lg only). Playground codes: BG-25 dashed measurement
   grid patch (light) fading out. The DC-08 measurement bracket that sat above it (center dot in the group ring color) was
   removed 2026-10-26 at the owner's request; the grid patch stays (it fills the tile top on its own, not only for the bracket). */
.tlt .lead-deco { display: none; }
@media (min-width: 1024px) {
  .tlt .lead-deco { display: block; position: absolute; left: 2rem; right: 2rem; top: 6.5rem; bottom: 13rem; pointer-events: none; }
  .tlt .lead-deco::before { content: ""; position: absolute; inset: 2.25rem 0 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cpath d='M0 0.5H96M0.5 0V96' stroke='%23111111' stroke-opacity='0.17' stroke-width='1' fill='none' stroke-dasharray='2 4'/%3E%3Cpath d='M48 0V96M0 48H96' stroke='%23111111' stroke-opacity='0.09' stroke-width='1' fill='none' stroke-dasharray='1 5'/%3E%3Cpath d='M0.5 -4V5M-4 0.5H5M96.5 -4V5M91 0.5H100' stroke='%23111111' stroke-opacity='0.17' stroke-width='1' fill='none'/%3E%3C/svg%3E"); background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(ellipse 70% 85% at 22% 30%, #000 0%, rgba(0,0,0,.45) 45%, transparent 75%);
            mask-image: radial-gradient(ellipse 70% 85% at 22% 30%, #000 0%, rgba(0,0,0,.45) 45%, transparent 75%); opacity: .9; }
}

/* ---------- 11. Contact page (2026-10-18) ---------- */
/* Top area: BG-01 fine 24px grid (light, faint) fading out behind the heading band */
.tlt .contact-bg { position: absolute; inset: 0 0 auto; height: 30rem; pointer-events: none; background-image: linear-gradient(rgba(17,17,17,0.09) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,0.09) 1px,transparent 1px); background-size: 24px 24px; background-position: -1px -1px;
  -webkit-mask-image: radial-gradient(ellipse 60% 75% at 15% 0%, #000 0%, rgba(0,0,0,.4) 50%, transparent 80%);
          mask-image: radial-gradient(ellipse 60% 75% at 15% 0%, #000 0%, rgba(0,0,0,.4) 50%, transparent 80%); }
/* "What happens next": DV-01 soft wave (exact SVG from the accessibility check page), a 30% white veil at the top of the
   mist section, so it reads as the lighter paper above easing into mist. */
.tlt .contact-dv { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 5rem; color: rgb(255 255 255 / .3); pointer-events: none; }
@media (min-width: 1024px) { .tlt .contact-dv { height: 7.5rem; } }
/* The veil's top edge is mist + 30% white (~#F0F0EE), so the paper section above eases to that tone at its
   bottom: no hard seam, and the wave reads as the lighter section flowing down into mist. */
.tlt .contact-top { background: linear-gradient(to bottom, #F7F7F5 calc(100% - 10rem), #F0F0EE); }
/* Contact Form 7 (contact form only; .tlt-cf7-contact) */
.tlt .tlt-cf7-contact .tlt-field { margin-top: 1.25rem; }
.tlt .tlt-cf7-contact form > .tlt-field:first-of-type, .tlt .tlt-cf7-contact form > p:first-of-type .tlt-field { margin-top: 0; }
.tlt .tlt-cf7-contact label { display: block; font-size: .95rem; font-weight: 600; color: #111; }
.tlt .tlt-cf7-contact .tlt-opt { font-weight: 500; color: #555; }
.tlt .tlt-cf7-contact .tlt-hint { display: block; margin-top: .15rem; font-size: .85rem; color: #555; }
.tlt .tlt-cf7-contact .wpcf7-form-control-wrap { display: block; margin-top: .4rem; }
.tlt .tlt-cf7-contact .wpcf7-form-control:not([type=submit]) { display: block; width: 100%; min-height: 2.875rem; border: 1px solid #8C8C88; border-radius: .75rem;
  background: #F7F7F5; padding: .7rem 1rem; font-size: 1rem; font-weight: 400; color: #111; box-shadow: none; outline: none; }
.tlt .tlt-cf7-contact textarea.wpcf7-form-control { min-height: 9rem; height: 9rem; resize: vertical; }
/* Native select (min 46px tall), custom chevron only */
.tlt .tlt-cf7-contact select.wpcf7-form-control { min-height: 2.875rem; -webkit-appearance: none; appearance: none; padding-right: 2.75rem; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23111' stroke-width='1.6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; }
/* Focus: charcoal inner (border + 2px) and aqua outer, so the ring is visible on white */
.tlt .tlt-cf7-contact .wpcf7-form-control:not([type=submit]):focus { background-color: #fff; border-color: #111; box-shadow: 0 0 0 2px #111, 0 0 0 5px #54EDE2; }
.tlt .tlt-cf7-contact .wpcf7-form-control.wpcf7-not-valid { border-color: #9a4a12; box-shadow: 0 0 0 1px #9a4a12; }
.tlt .tlt-cf7-contact .wpcf7-not-valid-tip { display: block; margin-top: .35rem; font-size: .85rem; font-weight: 600; color: #9a4a12; }
.tlt .tlt-cf7-contact .tlt-submit-p { margin-top: 1.75rem; }
.tlt .tlt-cf7-contact input[type=submit] { min-height: 3rem; font-size: 1rem; }
.tlt .tlt-cf7-contact input[type=submit]:hover { background: #000; }
.tlt .tlt-cf7-contact input[type=submit]:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111, 0 0 0 7px #54EDE2; }
.tlt .tlt-cf7-contact .wpcf7-turnstile, .tlt .tlt-cf7-contact .cf-turnstile { justify-content: flex-start; margin: 1.25rem 0 0; }
.tlt .tlt-cf7-contact .wpcf7-response-output { font-size: .9rem; border-left-color: #9a4a12 !important; background: #FEF0E6; box-shadow: none; }
.tlt .tlt-cf7-contact form.sent .wpcf7-response-output { border-left-color: #1C8C84 !important; background: #E3FBF9; }

/* ---------- 14. Free accessibility check page (2026-10-18) ----------
   /free-accessibility-check/ (src/free-check.html + src/free-check.js). Playground codes: BG-04 blueprint (dark) in the
   hero, BG-19 fading dot grid (light) on "Why it matters", DV-20 / DV-26 / DV-25 / DV-21 dividers (copied from
   tools/playground/patterns_dv_dc.py, renamed .fc-dv-*), DC-01 corner brackets. Motion only runs once free-check.js adds
   .fc-anim, and prefers-reduced-motion puts every element in its final, static state. */
.tlt .fc-hero-bg { position: absolute; inset: 0; pointer-events: none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='450' viewBox='0 0 800 450' preserveAspectRatio='xMidYMid slice'%3E%3Ccircle cx='560' cy='225' r='150' stroke='%2354EDE2' stroke-opacity='0.15' stroke-width='1' fill='none' stroke-dasharray='6 6'/%3E%3Ccircle cx='560' cy='225' r='90' stroke='%2354EDE2' stroke-opacity='0.1' stroke-width='1' fill='none'/%3E%3Cpath d='M380 225H740M560 45V405' stroke='%2354EDE2' stroke-opacity='0.15' stroke-width='1' fill='none' stroke-dasharray='14 6 2 6'/%3E%3Crect x='120' y='110' width='200' height='130' stroke='%2354EDE2' stroke-opacity='0.15' stroke-width='1' fill='none'/%3E%3Cpath d='M120 270H320M120 264V276M320 264V276M140 270V273M160 270V273M180 270V273M200 270V273M220 270V273M240 270V273M260 270V273M280 270V273M300 270V273' stroke='%2354EDE2' stroke-opacity='0.15' stroke-width='1' fill='none'/%3E%3C/svg%3E"),linear-gradient(rgba(84,237,226,0.15) 1px,transparent 1px),linear-gradient(90deg,rgba(84,237,226,0.15) 1px,transparent 1px),linear-gradient(rgba(84,237,226,0.1) 1px,transparent 1px),linear-gradient(90deg,rgba(84,237,226,0.1) 1px,transparent 1px);background-size:cover,100px 100px,100px 100px,20px 20px,20px 20px;background-position:center,-1px -1px,-1px -1px,-1px -1px,-1px -1px;background-repeat:no-repeat,repeat,repeat,repeat,repeat;
  -webkit-mask-image: radial-gradient(ellipse 85% 95% at 72% 45%, #000 25%, rgba(0,0,0,.35) 60%, transparent 90%);
          mask-image: radial-gradient(ellipse 85% 95% at 72% 45%, #000 25%, rgba(0,0,0,.35) 60%, transparent 90%); }
.tlt .fc-hero-mark { position: absolute; right: -1.25rem; top: -2.25rem; width: 4.5rem; color: rgba(84,237,226,.55); pointer-events: none; }
@media (max-width: 639.98px) { .tlt .fc-hero-mark { right: 0; } }
.tlt .fc-scan-line { position: absolute; left: 0; right: 0; top: 0; height: 45%; pointer-events: none; transform: translateY(-110%);
  background: linear-gradient(to bottom, rgba(84,237,226,0) 0%, rgba(84,237,226,.12) 80%, rgba(84,237,226,.75) 99%, rgba(84,237,226,0) 100%); }
/* Two passes (about 5s in total), then it stops: no pause control needed */
.tlt .fc-anim .fc-scan-line { animation: fc-scan 2.4s cubic-bezier(.45,0,.25,1) .5s 2 both; }
@keyframes fc-scan { from { transform: translateY(-110%); } to { transform: translateY(240%); } }
.tlt .fc-badge { animation: none; }

/* Icon marquee under the hero (14 icons from assests/accessibility-fixes.html, palette gradients) */
.tlt .fc-marquee { position: relative; padding: 1.75rem 0 .25rem; background: #F7F7F5; }
.tlt .fc-mq-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.tlt .fc-mq-view { overflow: hidden; padding: .5rem 0 1rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.tlt .fc-mq-track { display: flex; width: max-content; margin: 0; padding: 0; list-style: none; }
.tlt .fc-mq-tile { flex: none; display: grid; place-items: center; width: 5.5rem; height: 5.5rem; margin-right: 1rem; border-radius: 1.5rem;
  background: #fff; box-shadow: 0 0 0 1px #E9E9E6, 0 14px 28px -20px rgba(17,17,17,.45); }
.tlt .fc-mq-tile svg { display: block; width: 3.6rem; height: 2.9rem; }
.tlt .fc-anim .fc-mq-track { animation: fc-marquee 70s linear infinite; }
.tlt .fc-marquee:hover .fc-mq-track, .tlt .fc-marquee:focus-within .fc-mq-track, .tlt .fc-marquee.is-paused .fc-mq-track { animation-play-state: paused; }
@keyframes fc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.tlt .fc-mq-btn .fc-ic-play, .tlt .fc-marquee.is-paused .fc-mq-btn .fc-ic-pause { display: none; }
.tlt .fc-marquee.is-paused .fc-mq-btn .fc-ic-play { display: block; }
/* Controls that only work with JS stay hidden without it */
.tlt .fc-js-only { display: none !important; }
.tlt .fc-anim .fc-js-only { display: inline-flex !important; }

/* Shared bits: chips, icon tiles, card lift, corner brackets, gradient border */
.tlt .fc-chip { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.25rem; padding: .35rem .9rem; border-radius: 9999px;
  background: #fff; box-shadow: 0 0 0 1px #DADAD6; font-size: .9rem; font-weight: 600; color: #111; }
.tlt .fc-chip::before { content: ""; width: .5rem; height: .5rem; border-radius: 9999px; background: #54EDE2; flex: none; }
.tlt .fc-chip-sm { min-height: 2rem; padding: .25rem .75rem; font-size: .8125rem; background: #F7F7F5; }
.tlt .fc-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 1rem; background: #E3FBF9; box-shadow: inset 0 0 0 1.5px #3FCFC4; color: #111; }
.tlt .fc-icon svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tlt .fc-icon .fc-fill { fill: currentColor; stroke: none; }
.tlt .fc-lift { transition: transform .25s ease, box-shadow .25s ease; }
.tlt .fc-lift:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -28px rgba(17,17,17,.55); }
.tlt .fc-corner { position: absolute; width: 3.25rem; color: rgba(255,255,255,.9); pointer-events: none; }
.tlt .fc-corner-dark { color: rgba(17,17,17,.45); }
.tlt .fc-corner-tl { left: 1rem; top: 1rem; }
.tlt .fc-corner-br { right: 1rem; bottom: 1rem; transform: rotate(180deg); }
.tlt .fc-card-corner { position: absolute; left: -1rem; top: -1rem; width: 4rem; color: rgba(17,17,17,.45); pointer-events: none; }
.tlt .fc-card-corner-r { left: auto; right: -1rem; }
@media (min-width: 1024px) { .tlt .fc-card-corner { left: -1.4rem; top: -1.3rem; } .tlt .fc-card-corner-r { left: auto; right: -1rem; } }
.tlt .fc-gborder { background: linear-gradient(135deg, #54EDE2 0%, #B7B7B3 55%, #F3A56B 100%); }
/* Form card: works with the preview mock (div.tlt-field) and with a plain CF7 form (<p><label>...</label></p>) */
.tlt .tlt-cf7-check form > p:not(:first-of-type):not(.tlt-submit-p) { margin-top: 1.25rem; }
.tlt .tlt-cf7-check form > p > label .wpcf7-form-control-wrap { margin-top: .4rem; }

/* Dividers (playground DV-20, DV-21, DV-25, DV-26) */
.tlt .fc-dv-20{position:absolute;left:clamp(1.25rem,6%,5rem);right:clamp(1.25rem,6%,5rem);top:22px;height:13px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.tlt .fc-dv-20::before{content:'';position:absolute;left:0;right:0;top:6px;height:1px;background:var(--line)}.tlt .fc-dv-20 b{position:absolute;left:50%;top:6.5px;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#54EDE2}
.tlt .fc-dv-21{position:absolute;inset:0 0 auto;height:15px;background:linear-gradient(var(--line),var(--line)) 0 0/100% 1px no-repeat,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/40px 15px repeat-x,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/8px 7px repeat-x}
.tlt .fc-dv-25{position:absolute;left:clamp(1rem,6%,5rem);right:clamp(1rem,6%,5rem);top:-6.5px;height:13px;display:flex;justify-content:space-between;color:var(--mark,var(--ink))}.tlt .fc-dv-25 i{display:block;width:13px;height:13px;opacity:.7}.tlt .fc-dv-25 svg{display:block;width:13px;height:13px}.tlt .fc-dv-25 i:nth-child(3){color:#54EDE2;opacity:1}@media (max-width:767.98px){.tlt .fc-dv-25 i:nth-child(2),.tlt .fc-dv-25 i:nth-child(4){display:none}}
.tlt .fc-dv-26{position:absolute;inset:-1px 0 auto;aspect-ratio:1/0.0349208}.tlt .fc-dv-26 i{position:absolute;left:0;top:12px;margin-top:3.4921%;width:100.061%;height:1px;background:var(--line);transform:rotate(-2deg);transform-origin:0 0}
/* DV-26's slab now lives at the bottom of the mist section (.fc-why): the same 2-degree edge, but drawn as the LOWER color
   (paper #F7F7F5, exactly the next section) over the mist + dots, so the mist wedge on the left keeps its dots instead of
   being a plain mist triangle inside the next section. bottom:-1px overlaps the seam by 1px (no hairline). Only the
   parallel 1px line stays in .fc-good (.fc-dv-26 i), with the same geometry as before. */
.tlt .fc-dv-26-slab{position:absolute;left:0;right:0;bottom:-1px;z-index:1;aspect-ratio:1/0.0349208;pointer-events:none}.tlt .fc-dv-26-slab::before{content:'';position:absolute;inset:0;background:#F7F7F5;clip-path:polygon(100% 0,100% 100%,0 100%)}

/* Why it matters: BG-19 fading dot grid (exact dot layer from tools/playground/patterns_bg.py) on the whole section, absolute
   inset 0 so the dots run to the bottom edge; faded toward the top only. */
.tlt .fc-why-bg { position: absolute; inset: 0; pointer-events: none; background-image:radial-gradient(circle,rgba(17,17,17,0.22) 1.4px,transparent 1.8px);background-size:20px 20px;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 25%); mask-image: linear-gradient(to bottom, transparent, #000 25%); }

/* Reveal on scroll */
.tlt .fc-anim li[data-fc-reveal], .tlt .fc-anim .fc-start[data-fc-reveal] { transition: opacity .6s ease, transform .6s ease; }
.tlt .fc-anim li[data-fc-reveal]:not(.is-in), .tlt .fc-anim .fc-start[data-fc-reveal]:not(.is-in) { opacity: 0; transform: translateY(16px); }
.tlt .fc-anim li[data-fc-reveal]:nth-child(2) { transition-delay: .12s; }
.tlt .fc-anim li[data-fc-reveal]:nth-child(3) { transition-delay: .24s; }
.tlt .fc-draw :is(path, circle, rect):not(.fc-fill) { stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s ease .35s; }
.tlt .fc-draw .fc-fill { transition: opacity .5s ease 1.2s; }
.tlt .fc-anim [data-fc-reveal]:not(.is-in) .fc-draw :is(path, circle, rect):not(.fc-fill) { stroke-dashoffset: 1; }
.tlt .fc-anim [data-fc-reveal]:not(.is-in) .fc-draw .fc-fill { opacity: 0; }

/* Before / after slider. The "before" side is a decorative simulation (aria-hidden, text drawn with ::before so it is not
   real low-contrast text); the label and the side captions explain it in text. */
.tlt .fc-ba-stage { position: relative; display: grid; border-radius: 1.75rem; overflow: hidden; background: #fff;
  box-shadow: 0 0 0 1px #E9E9E6, 0 16px 40px -28px rgba(17,17,17,.45); touch-action: pan-y; }
.tlt .fc-ba-pane { grid-area: 1 / 1; display: flex; align-items: center; justify-content: center; padding: 2rem 1.25rem; }
@media (min-width: 640px) { .tlt .fc-ba-pane { padding: 3rem 2.5rem; } }
.tlt .fc-ba-after { background: radial-gradient(70% 90% at 100% 0%, rgba(84,237,226,.22), rgba(84,237,226,0) 70%), #fff; }
.tlt .fc-ba-before { background: #F4F4F2; clip-path: inset(0 calc(100% - var(--pos, 50%)) 0 0); }
.tlt .fc-demo { width: 100%; max-width: 22rem; border-radius: 1.25rem; background: #fff; padding: 1.5rem; box-shadow: 0 10px 30px -22px rgba(17,17,17,.5); text-align: left; }
.tlt .fc-demo-title { font-size: 1.35rem; font-weight: 800; letter-spacing: -.01em; color: #111; }
.tlt .fc-demo-text { margin-top: .4rem; font-size: 1rem; line-height: 1.5; color: rgba(17,17,17,.78); }
.tlt .fc-demo-label { margin-top: 1.1rem; font-size: .9rem; font-weight: 600; color: #111; min-height: 1.35rem; }
.tlt .fc-demo-input { margin-top: .35rem; min-height: 2.75rem; display: flex; align-items: center; padding: 0 1rem; border-radius: .75rem; border: 1px solid #8C8C88; background: #F7F7F5; color: #555; font-size: 1rem; }
.tlt .fc-demo-input.is-focus { border-color: #111; background: #fff; box-shadow: 0 0 0 2px #111, 0 0 0 5px #54EDE2; }
.tlt .fc-demo-btn { margin-top: 1.25rem; min-height: 2.875rem; display: flex; align-items: center; justify-content: center; border-radius: 9999px; background: #111; color: #fff; font-weight: 600; }
/* Before: faint, tiny, no label, no focus ring, washed-out button */
.tlt .fc-ba-before .fc-demo { box-shadow: none; background: #FBFBFA; }
.tlt .fc-ba-before [data-t]::before { content: attr(data-t); }
.tlt .fc-ba-before .fc-demo-title { color: #C9C9C5; font-weight: 600; font-size: 1.1rem; }
.tlt .fc-ba-before .fc-demo-text { color: #CFCFCB; font-size: .78rem; }
.tlt .fc-ba-before .fc-demo-input { border-color: #ECECE9; background: #fff; color: #D0D0CC; font-size: .85rem; }
.tlt .fc-ba-before .fc-demo-btn { background: #EDEDEA; color: #D6D6D2; font-weight: 500; min-height: 2rem; width: 4.5rem; font-size: .8rem; border-radius: .35rem; }
.tlt .fc-ba-range { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; background: transparent; }
/* Handle layer spans the stage: the 1px-centred divider line (::before) follows --pos all the way to the edge, while the
   knob's centre is clamped 24px inside the stage (32px from 768px up), so the whole circle stays visible at 0 and 100.
   The range value itself still runs 0 to 100. (2026-10-20) */
.tlt .fc-ba-handle { --knob-in: 24px; position: absolute; z-index: 2; inset: 0; pointer-events: none; }
@media (min-width: 768px) { .tlt .fc-ba-handle { --knob-in: 32px; } }
.tlt .fc-ba-handle::before { content: ""; position: absolute; top: 0; bottom: 0; left: var(--pos, 50%); width: 2px; margin-left: -1px; background: #111; }
.tlt .fc-ba-knob { position: absolute; left: clamp(var(--knob-in), var(--pos, 50%), calc(100% - var(--knob-in))); top: 50%; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin: -1.375rem 0 0 -1.375rem;
  border-radius: 9999px; background: #111; color: #54EDE2; box-shadow: 0 0 0 3px #fff, 0 8px 18px -8px rgba(17,17,17,.6); }
.tlt .fc-ba-knob svg { width: 1.25rem; height: 1.25rem; }
.tlt .fc-ba-stage:has(.fc-ba-range:focus-visible) { box-shadow: 0 0 0 2px #111, 0 0 0 5px #54EDE2; }
.tlt .fc-ba-range:focus-visible ~ .fc-ba-handle .fc-ba-knob { box-shadow: 0 0 0 3px #fff, 0 0 0 6px #54EDE2; }
.tlt .fc-focus-btn[aria-pressed="true"] { background: #111; color: #fff; }

/* "Show what keyboard users see": aqua outline + charcoal halo on everything you can tab to */
html.tlt-show-focus .wp-site-blocks :is(a[href], button, input:not([type=hidden]):not(.fc-ba-range), select, textarea, summary) {
  outline: 3px solid #54EDE2 !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #111 !important; }
html.tlt-show-focus .tlt .fc-ba-stage { box-shadow: 0 0 0 2px #111, 0 0 0 5px #54EDE2; }

/* Sample report: priority chips and checkmarks that draw in one by one */
.tlt .fc-prio { display: inline-flex; align-items: center; min-height: 1.6rem; padding: .15rem .65rem; border-radius: 9999px; background: var(--prio); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #111; }
.tlt .fc-tick { flex: none; width: 1.75rem; height: 1.75rem; margin-top: .1rem; }
.tlt .fc-tick path { stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset .5s ease; }
.tlt .fc-row { transition: box-shadow .4s ease; }
.tlt .fc-anim .fc-sample:not(.is-in) .fc-tick path { stroke-dashoffset: 1; }
.tlt .fc-anim .fc-sample .fc-row:nth-child(1) .fc-tick path { transition-delay: .35s; }
.tlt .fc-anim .fc-sample .fc-row:nth-child(2) .fc-tick path { transition-delay: 1s; }
.tlt .fc-anim .fc-sample .fc-row:nth-child(3) .fc-tick path { transition-delay: 1.65s; }

/* Steps track: vertical on phones, horizontal from 768px; aqua fill follows the scroll (--fill, set by JS) */
.tlt .fc-track { position: absolute; left: 1.4375rem; top: 1.5rem; bottom: 1.5rem; width: 2px; background: rgba(183,183,179,.28); }
.tlt .fc-track-fill { position: absolute; inset: 0; background: #54EDE2; transform-origin: top; transform: scaleY(var(--fill, 1)); }
.tlt .fc-step { position: relative; padding-left: 4.25rem; }
.tlt .fc-step-num { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 9999px;
  border: 2px solid #54EDE2; background: #54EDE2; color: #111; font-size: 1.05rem; font-weight: 800; transition: background-color .3s ease, color .3s ease, border-color .3s ease; }
.tlt .fc-step h3 { padding-top: .7rem; }
.tlt .fc-anim .fc-step:not(.is-on) .fc-step-num { background: #111; color: #fff; border-color: rgba(183,183,179,.55); }
@media (min-width: 768px) {
  .tlt .fc-track { left: 1.5rem; right: calc((100% - 4.5rem) / 4 - 1.5rem); top: 1.4375rem; bottom: auto; width: auto; height: 2px; }
  .tlt .fc-track-fill { transform-origin: left; transform: scaleX(var(--fill, 1)); }
  .tlt .fc-step { padding-left: 0; padding-top: 4.5rem; }
  .tlt .fc-step h3 { padding-top: 0; }
}

/* Closing panel: soft aqua corner glow and three marquee icons as decoration */
.tlt .fc-start { background: radial-gradient(60% 80% at 100% 0%, rgba(84,237,226,.3), rgba(84,237,226,0) 70%), radial-gradient(50% 70% at 0% 100%, rgba(243,165,107,.22), rgba(243,165,107,0) 70%), #E9E9E6; }
.tlt .fc-start-icons { display: flex; justify-content: center; gap: .75rem; margin-bottom: 1.5rem; }
.tlt .fc-start-icons svg { width: 3rem; height: 2.4rem; }

/* FAQ: native details/summary */
.tlt .fc-faq-item { border-radius: 1.25rem; background: #fff; box-shadow: 0 0 0 1px #E9E9E6, 0 10px 30px -26px rgba(17,17,17,.5); }
.tlt .fc-faq-q { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.5rem; padding: .9rem 1.25rem; border-radius: 1.25rem;
  cursor: pointer; list-style: none; font-size: 1.0625rem; font-weight: 700; color: #111; }
.tlt .fc-faq-q::-webkit-details-marker { display: none; }
.tlt .fc-faq-q:hover { background: #F7F7F5; }
.tlt .fc-faq-q:focus-visible { outline: 2px solid #54EDE2; outline-offset: 2px; box-shadow: 0 0 0 2px #111; }
.tlt .fc-faq-plus { position: relative; flex: none; width: 1.75rem; height: 1.75rem; border-radius: 9999px; background: #E3FBF9; box-shadow: inset 0 0 0 1.5px #3FCFC4; transition: transform .25s ease; }
.tlt .fc-faq-plus::before, .tlt .fc-faq-plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: .75rem; height: 2px; margin: -1px 0 0 -.375rem; border-radius: 2px; background: #111; }
.tlt .fc-faq-plus::after { transform: rotate(90deg); transition: transform .25s ease; }
.tlt .fc-faq-item[open] .fc-faq-plus::after { transform: rotate(0deg); }
.tlt .fc-faq-a { padding: 0 1.25rem 1.25rem; font-size: 1rem; line-height: 1.65; color: rgba(17,17,17,.8); }
@media (min-width: 640px) { .tlt .fc-faq-q { padding: .9rem 1.5rem; } .tlt .fc-faq-a { padding: 0 1.5rem 1.4rem; } }

/* Reduced motion: no marquee (static, wrapped, no pause button), checkmarks and icons drawn, steps line full, nothing slides */
@media (prefers-reduced-motion: reduce) {
  .tlt .fc-anim .fc-scan-line { animation: none; }
  .tlt .fc-mq-track { animation: none !important; transform: none !important; width: auto; max-width: 49rem; margin: 0 auto; flex-wrap: wrap; justify-content: center; row-gap: 1rem; padding: 0 1.25rem; }
  .tlt .fc-mq-view { -webkit-mask-image: none; mask-image: none; }
  .tlt .fc-mq-dup { display: none; }
  .tlt .fc-anim .fc-mq-btn { display: none !important; }
  .tlt .fc-anim [data-fc-reveal], .tlt .fc-anim [data-fc-reveal]:not(.is-in) { opacity: 1 !important; transform: none !important; transition: none !important; }
  .tlt .fc-draw :is(path, circle, rect), .tlt .fc-anim [data-fc-reveal]:not(.is-in) .fc-draw :is(path, circle, rect):not(.fc-fill) { stroke-dashoffset: 0 !important; transition: none !important; }
  .tlt .fc-anim [data-fc-reveal]:not(.is-in) .fc-draw .fc-fill { opacity: 1; }
  .tlt .fc-tick path, .tlt .fc-anim .fc-sample:not(.is-in) .fc-tick path { stroke-dashoffset: 0 !important; transition: none !important; }
  .tlt .fc-track-fill { transform: none !important; }
  .tlt .fc-anim .fc-step:not(.is-on) .fc-step-num { background: #54EDE2; color: #111; border-color: #54EDE2; }
  .tlt .fc-lift, .tlt .fc-step-num, .tlt .fc-faq-plus, .tlt .fc-faq-plus::after { transition: none !important; }
  .tlt .fc-lift:hover { transform: none; }
}

/* ---------- 15. Legal pages (2026-10-19): Privacy Statement, Terms and Conditions, Accessibility Statement ----------
   One shared template (src/legal.html, filled by gen_legal.py). No motion and no images. Muted text uses charcoal at 60%
   on paper (about 4.8:1). Aqua is only ever a bar, border or background accent here, never text on light. */
.tlt .legal-bg { position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(17,17,17,0.09) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,0.09) 1px,transparent 1px);
  background-size: 24px 24px; background-position: -1px -1px;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.55) 45%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.55) 45%, transparent 100%); }
.tlt .legal-grid { display: block; }
.tlt .legal-main { max-width: 70ch; min-width: 0; }
@media (min-width: 1024px) {
  .tlt .legal-grid { display: grid; grid-template-columns: 14rem minmax(0, 70ch); column-gap: 4rem; justify-content: center; }
  .tlt .legal-grid > .legal-main { grid-column: 2; }
}
/* Badge (Accessibility Statement only): the markup and all its styles are inline in src/a11y-badge.html (reusable) */
.tlt .legal-badge-wrap { margin-top: 1.5rem; }
/* "On this page": sticky list in the left margin (desktop), details/summary at the top (phones and tablets) */
.tlt .legal-toc { display: none; }
@media (min-width: 1024px) {
  .tlt .legal-toc { display: block; grid-column: 1; grid-row: 1; align-self: start; position: sticky; top: 6.5rem;
    max-height: calc(100vh - 8rem); overflow-y: auto; }
  .tlt .legal-toc-m { display: none; }
}
.tlt .legal-toc-title { margin: 0 0 .75rem; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .22em; color: rgba(17,17,17,.7); }
.tlt .legal-toc-list { list-style: none; margin: 0; padding: 0; border-left: 1px solid rgba(17,17,17,.14); }
.tlt .legal-toc-list a { display: flex; align-items: center; min-height: 2.75rem; padding: .4rem .75rem .4rem 1rem; margin-left: -1px;
  border-left: 3px solid transparent; border-radius: 0 .5rem .5rem 0; font-size: .9375rem; line-height: 1.35; color: rgba(17,17,17,.75); text-decoration: none; }
.tlt .legal-toc-list a:hover { color: #111; background: rgba(17,17,17,.04); }
.tlt .legal-toc-list a[aria-current] { color: #111; font-weight: 600; border-left-color: #54EDE2; background: rgba(84,237,226,.16); }
.tlt .legal-toc-list a:focus-visible, .tlt .legal-toc-m-sum:focus-visible, .tlt .legal-link:focus-visible {
  outline: 2px solid #54EDE2; outline-offset: 2px; box-shadow: 0 0 0 2px #111; border-radius: .375rem; }
.tlt .legal-toc-m { margin-bottom: 2rem; border-radius: 1rem; background: #fff; box-shadow: 0 0 0 1px #E9E9E6, 0 10px 30px -26px rgba(17,17,17,.5); }
.tlt .legal-toc-m-sum { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 2.75rem; padding: .625rem 1.25rem;
  border-radius: 1rem; cursor: pointer; list-style: none; font-weight: 700; color: #111; }
.tlt .legal-toc-m-sum::-webkit-details-marker { display: none; }
.tlt .legal-toc-m[open] .fc-faq-plus::after { transform: rotate(0deg); }
.tlt .legal-toc-m .legal-toc-list { margin: 0 1.25rem 1rem; }
/* "The short version" callout */
.tlt .legal-short { position: relative; margin-bottom: 2.5rem; padding: 1.5rem 1.5rem 1.5rem 1.75rem; border-radius: 1.25rem; background: #E9E9E6; overflow: hidden; }
.tlt .legal-short::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: #54EDE2; }
.tlt .legal-short-title { margin: 0 0 .5rem; font-size: 1.125rem; font-weight: 800; letter-spacing: -.01em; color: #111; }
.tlt .legal-short p { margin: 0; font-size: 1.0625rem; line-height: 1.7; color: #111; }
.tlt .legal-short p + p { margin-top: .5rem; }
/* Body copy: about 70ch, 17px (18px from 640px), relaxed line height */
.tlt .legal-prose { font-size: 1.0625rem; line-height: 1.75; color: rgba(17,17,17,.85); }
@media (min-width: 640px) { .tlt .legal-prose { font-size: 1.125rem; } }
.tlt .legal-sec + .legal-sec { margin-top: 2.75rem; }
.tlt .legal-prose h2 { margin: 0 0 .75rem; font-size: 1.5rem; line-height: 1.25; font-weight: 800; letter-spacing: -.015em; color: #111; scroll-margin-top: 6.5rem; }
@media (min-width: 640px) { .tlt .legal-prose h2 { font-size: 1.75rem; } }
.tlt .legal-prose p { margin: 0; }
.tlt .legal-prose p + p, .tlt .legal-prose ul + p, .tlt .legal-prose p + ul { margin-top: 1rem; }
.tlt .legal-prose ul { margin: 0; padding-left: 1.35rem; list-style: disc; }
.tlt .legal-prose li { padding-left: .25rem; }
.tlt .legal-prose li + li { margin-top: .5rem; }
.tlt .legal-prose li::marker { color: rgba(17,17,17,.55); }
.tlt .legal-prose strong { font-weight: 600; color: #111; }
.tlt .legal-address { font-style: normal; }
.tlt .legal-link { color: #111; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(17,17,17,.5); overflow-wrap: anywhere; }
.tlt .legal-link:hover { text-decoration-thickness: 2px; text-decoration-color: #111; }
/* Accessibility Statement: "Found a barrier? Tell us" card */
.tlt .legal-cta { margin-top: 3.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem;
  padding: 2rem; border-radius: 1.75rem; background: #111; box-shadow: 0 16px 40px -28px rgba(17,17,17,.45); }
.tlt .legal-cta h2 { margin: 0; }
.tlt .legal-cta-btn { display: inline-flex; align-items: center; min-height: 3rem; padding: 0 1.75rem; border-radius: 9999px; background: #54EDE2;
  color: #111; font-weight: 600; font-size: 1rem; text-decoration: none; }
.tlt .legal-cta-btn:hover { background: #fff; }
.tlt .legal-cta-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
/* DV-21 above the footer */
.tlt .legal-end { height: 15px; }
.tlt .legal-toc-m .fc-faq-plus, .tlt .legal-toc-m .fc-faq-plus::after { transition: none; }

/* ---------- 16. Service pages (2026-10-20): one template for all 11 service pages ----------
   Markup: tools/theme/gen_service.py (content/services/<slug>.md); script: src/service.js. Reuses the free check page parts
   (.fc-ba slider, .fc-tick, .fc-track steps, .fc-faq, .fc-draw icons, .fc-dv-* dividers); service.js adds .fc-anim, so the
   motion prep states and the prefers-reduced-motion overrides of section 14 apply here too.
   Playground codes: BG-01 fine grid (hero + image slots), DV-21 ruler edge (end of "Is this for you", FAQ, thank-you), DV-20
   dimension line ("What you get"), DV-25 crosshair markers (steps), DV-26 angled line (plans). Aqua and signal are never text
   on light backgrounds; muted text is charcoal at 75 to 80%. */
.tlt .svc-bg-01 { position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(17,17,17,0.09) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,0.09) 1px,transparent 1px);
  background-size: 24px 24px; background-position: -1px -1px;
  -webkit-mask-image: radial-gradient(ellipse 75% 90% at 20% 10%, #000 0%, rgba(0,0,0,.45) 50%, transparent 85%);
          mask-image: radial-gradient(ellipse 75% 90% at 20% 10%, #000 0%, rgba(0,0,0,.45) 50%, transparent 85%); }
.tlt .svc-page section[tabindex="-1"]:focus { outline: none; }
.tlt .svc-inline-link { color: #111; text-decoration: underline; text-decoration-color: #54EDE2; text-decoration-thickness: 2px; text-underline-offset: 3px; }
/* TEMP IMAGE slot: neutral BG-01 panel with a picture mark, same size as the photo it stands in for */
.tlt .svc-img-slot { overflow: hidden; background-color: #E9E9E6; box-shadow: 0 16px 40px -28px rgba(17,17,17,.45);
  background-image: linear-gradient(rgba(17,17,17,0.08) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,0.08) 1px,transparent 1px);
  background-size: 24px 24px; background-position: -1px -1px; }
.tlt .svc-fit .svc-img-slot, .tlt .svc-details .svc-img-slot { background-color: #DEDEDA; }
.tlt .svc-img-slot-mark { position: absolute; left: 50%; top: 50%; width: 4.5rem; height: 4.5rem; margin: -2.25rem 0 0 -2.25rem; display: grid; place-items: center;
  border-radius: 1.25rem; background: #F7F7F5; color: rgba(17,17,17,.45); box-shadow: 0 0 0 1px rgba(17,17,17,.08); }
.tlt .svc-img-slot-mark svg { width: 2.5rem; height: 2.5rem; }
.tlt .svc-img-slot .fc-corner { color: rgba(17,17,17,.35); }
/* DV-21 at the bottom edge of "Is this for you" (ticks point up into the mist) */
.tlt .fc-dv-21.svc-dv-21-end { inset: auto 0 0; transform: scaleY(-1); }
/* Standout moment: charcoal band, soft aqua glow behind the slider */
.tlt .svc-proof-glow { position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(45% 55% at 50% 72%, rgba(84,237,226,.2), rgba(84,237,226,0) 70%), radial-gradient(30% 40% at 90% 0%, rgba(84,237,226,.1), rgba(84,237,226,0) 70%); }
.tlt .svc-ba-stage { box-shadow: 0 0 0 1px rgba(84,237,226,.55), 0 0 90px -14px rgba(84,237,226,.55); }
.tlt .svc-page:not(.fc-anim) .svc-ba-range { display: none; }
.tlt .svc-ba-play .svc-ic-play, .tlt .svc-ba.is-paused .svc-ba-play .svc-ic-pause { display: none; }
.tlt .svc-ba.is-paused .svc-ba-play .svc-ic-play { display: block; }
/* Slider mock page with problem pins (2026-10-20). Both panes share one geometry: same sizes, only colors and words differ,
   so each pin sits on the same spot on both sides. Pins live inside their pane, so the slider's clip swaps orange (before,
   numbered) for aqua (after, check) as the handle passes. Pins and chips are aria-hidden (the panes are); the legend <ol>
   below says the same in text. Contrast: pin number #111 on #F3A56B 9.9:1, chip #F7F7F5 on #111 17.6:1, check #111 on #54EDE2 13.6:1. */
.tlt .svc-mock-pane { padding: 1.75rem 1.25rem; isolation: isolate; } /* own stacking context: each pane's pins stay inside its clip */
@media (min-width: 640px) { .tlt .svc-mock-pane { padding: 2.5rem 2.5rem; } }
.tlt .svc-mock { position: relative; width: 100%; max-width: 38rem; border-radius: 1.25rem; background: #fff; padding: 1rem 1.25rem 1.5rem; text-align: left;
  box-shadow: 0 0 0 1px #E9E9E6, 0 10px 30px -22px rgba(17,17,17,.5); }
@media (min-width: 640px) { .tlt .svc-mock { padding: 1.1rem 1.75rem 1.75rem; } }
.tlt .svc-mock p { margin: 0; }
.tlt .svc-spot { position: relative; }
.tlt .svc-mock-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .9rem; border-bottom: 1px solid #E9E9E6; }
.tlt .svc-mock-brand { font-size: .95rem; font-weight: 800; letter-spacing: -.01em; color: #111; }
.tlt .svc-mock-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: #F3F3F1; color: #111; }
.tlt .svc-mock-icon > svg { width: 1.1rem; height: 1.1rem; }
.tlt .svc-mock-hero { display: grid; gap: 1.25rem; margin-top: 1.25rem; }
@media (min-width: 640px) { .tlt .svc-mock-hero { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; } }
.tlt .svc-mock-title { font-size: 1.3rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; color: #111; }
.tlt .svc-mock-copy > .svc-spot-subheading { margin-top: 2.6rem; } /* room for the subheading's callout above it */
.tlt .svc-mock-copy > .svc-mock-linkrow { margin-top: 2.6rem; } /* room for the link's callout above it */
.tlt .svc-mock-sub { font-size: .95rem; line-height: 1.5; color: #3B3B3B; }
.tlt .svc-mock-link { display: inline-block; font-size: .95rem; font-weight: 600; line-height: 1.5; color: #111; text-decoration: underline; text-decoration-color: #111;
  text-decoration-thickness: 2px; text-underline-offset: 4px; }
.tlt .svc-mock-img { display: grid; place-items: center; aspect-ratio: 16 / 11; border-radius: .9rem; overflow: visible; }
.tlt .svc-mock-photo { display: block; width: 100%; height: 100%; border-radius: .9rem; }
.tlt .svc-mock-img.is-broken { background: #FAFAF8; box-shadow: inset 0 0 0 2px #E2E2DE; color: #C4C4BF; }
.tlt .svc-mock-broken { width: 2.75rem; height: 2.75rem; }
.tlt .svc-mock-form { margin-top: 1.25rem; }
/* Label row: same height on both sides; the after side shows a real "Email" label (Outfit 14px semibold charcoal) */
.tlt .svc-mock-labelrow { display: block; min-height: 1.75rem; }
.tlt .svc-spot-field { display: inline-flex; align-items: center; min-width: 3.25rem; min-height: 1.75rem; vertical-align: top; }
.tlt .svc-mock-label { font-family: Outfit, 'Avenir Next', 'Segoe UI', sans-serif; font-size: 14px; font-weight: 600; line-height: 1.75rem; color: #111; }
.tlt .svc-mock-field { display: flex; align-items: center; min-height: 2.75rem; margin-top: .4rem; padding: 0 1rem; border-radius: .75rem; border: 1px solid #6B6B67;
  background: #F7F7F5; font-size: .95rem; color: #444; }
.tlt .svc-mock-btn { display: flex; align-items: center; justify-content: center; min-height: 2.75rem; margin-top: 1rem; border-radius: 9999px; background: #111;
  color: #fff; font-size: .95rem; font-weight: 600; }
.tlt .fc-ba-after .svc-mock-btn { outline: 2px solid #54EDE2; outline-offset: 3px; }
/* Before pane: only the six problems differ (pale subheading, broken image, "Click here", no label, no focus ring, same icon) */
.tlt .fc-ba-before .svc-mock-sub { color: #C9C9C5; }
.tlt .fc-ba-before .svc-mock-link { color: #8E8E8A; text-decoration-color: #C9C9C5; text-decoration-thickness: 1px; }
.tlt .fc-ba-before .svc-mock-field { border-color: #E2E2DE; background: #fff; color: #C4C4BF; }
/* Pins: 28px dot + chip; the dot's centre sits on the target's left edge. .is-left puts the chip on the dot's left. */
.tlt .svc-pin { position: absolute; z-index: 1; left: -14px; top: calc(50% - 14px); display: flex; align-items: center; gap: 6px; pointer-events: none; }
/* the fade only runs into the shown state (.pins-in), so hiding them when the script starts is instant, not a fade-out */
.tlt .svc-ba.pins-in .svc-pin { transition: opacity .35s ease calc(var(--i, 0) * 80ms); }
.tlt .svc-pin.is-left { left: auto; right: calc(100% - 14px); flex-direction: row-reverse; }
/* Where each pin sits, chosen so a chip lies on empty space, not on the words it describes */
.tlt .svc-mock-img > .svc-pin { top: .75rem; }
.tlt .svc-spot-subheading > .svc-pin { top: -36px; }
.tlt .svc-spot-link > .svc-pin { top: -36px; }
.tlt .svc-spot-field > .svc-pin { left: calc(100% - 4px); }
.tlt .svc-pin-dot { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9999px; background: #F3A56B; color: #111;
  box-shadow: 0 0 0 2px #F7F7F5, 0 4px 10px -4px rgba(17,17,17,.45); font-size: 13px; font-weight: 800; line-height: 1; }
.tlt .fc-ba-after .svc-pin-dot { background: #54EDE2; }
.tlt .svc-pin-dot svg { width: 15px; height: 15px; }
.tlt .svc-pin-chip { white-space: nowrap; padding: 4px 10px; border-radius: 9999px; background: #111; color: #F7F7F5; font-family: Outfit, 'Avenir Next', 'Segoe UI', sans-serif;
  font-size: 13px; font-weight: 500; line-height: 1.3; box-shadow: 0 0 0 2px #F7F7F5, 0 4px 12px -6px rgba(17,17,17,.6); }
@media (max-width: 639.98px) {
  .tlt .svc-pin { left: -12px; top: calc(50% - 12px); }
  .tlt .svc-pin.is-left { right: calc(100% - 12px); }
  .tlt .svc-spot-subheading > .svc-pin { top: -32px; }
  .tlt .svc-spot-link > .svc-pin { top: -32px; }
  .tlt .svc-spot-field > .svc-pin { left: calc(100% - 4px); }
  .tlt .svc-pin-dot { width: 24px; height: 24px; font-size: 12px; }
  .tlt .svc-pin-dot svg { width: 13px; height: 13px; }
  .tlt .svc-pin-chip { display: none; }
}
/* Pin 5 (button): dot centred on the button's top-left corner, chip on the top edge, half on and half off the button */
.tlt .svc-mock .svc-spot-button > .svc-pin { left: -14px; top: -14px; }
/* Pin 6 (icon button): a 20px corner badge on the button's top-left, overlapping it by 6px, so the icon stays whole; the chip
   sits 8px left of the button, centred on it. Same badge on phones (chips are hidden there). */
.tlt .svc-mock .svc-spot-icon > .svc-pin, .tlt .svc-mock .svc-spot-icon > .svc-pin.is-left { left: -14px; right: auto; top: -14px; flex-direction: row; }
.tlt .svc-mock .svc-spot-icon .svc-pin-dot { width: 20px; height: 20px; font-size: 11px; }
.tlt .svc-mock .svc-spot-icon .svc-pin-dot svg { width: 11px; height: 11px; }
.tlt .svc-mock .svc-spot-icon .svc-pin-chip { position: absolute; right: 14px; top: 34px; transform: translateY(-50%); } /* right 14px = 8px clear of the button */
@media (max-width: 639.98px) {
  .tlt .svc-mock .svc-spot-button > .svc-pin { left: -12px; top: -12px; }
}
/* First time the slider is on screen the pins fade in one after another (service.js adds .pins-in); no JS: static */
.tlt .fc-anim .svc-ba:not(.pins-in) .svc-pin { opacity: 0; }
/* Legend under the slider: a real <ol>, markers styled like the pins */
.tlt .svc-legend { display: grid; gap: .85rem 2rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .tlt .svc-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tlt .svc-legend-item { display: flex; align-items: flex-start; gap: .75rem; font-size: 1rem; line-height: 1.5; color: rgba(247,247,245,.9); }
.tlt .svc-legend-n { flex: none; display: grid; place-items: center; width: 28px; height: 28px; margin-top: -1px; border-radius: 9999px; background: #F3A56B; color: #111;
  box-shadow: 0 0 0 2px #F7F7F5; font-size: 13px; font-weight: 800; }
/* What you get: checkmarks draw in one after another */
.tlt .fc-anim .svc-checks:not(.is-in) .fc-tick path { stroke-dashoffset: 1; }
.tlt .svc-checks li:nth-child(1) .fc-tick path { transition-delay: .2s; }
.tlt .svc-checks li:nth-child(2) .fc-tick path { transition-delay: .45s; }
.tlt .svc-checks li:nth-child(3) .fc-tick path { transition-delay: .7s; }
.tlt .svc-checks li:nth-child(4) .fc-tick path { transition-delay: .95s; }
.tlt .svc-checks li:nth-child(5) .fc-tick path { transition-delay: 1.2s; }
.tlt .svc-checks li:nth-child(6) .fc-tick path { transition-delay: 1.45s; }
.tlt .svc-checks li:nth-child(7) .fc-tick path { transition-delay: 1.7s; }
.tlt .svc-checks li:nth-child(8) .fc-tick path { transition-delay: 1.95s; }
.tlt .svc-checks li:nth-child(9) .fc-tick path { transition-delay: 2.2s; }
/* How it works ends on the DV-26 2-degree edge (.fc-dv-26-slab, paper = the plans background) so the angled line below
   runs parallel to it with no paper wedge on the left (markup: s_steps in gen_service.py; slab rule in the dividers block). */
/* How it works on mist: darker track, white step numbers until the line reaches them */
.tlt .svc-steps .fc-track { background: rgba(17,17,17,.16); }
.tlt .fc-anim .svc-steps .fc-step:not(.is-on) .fc-step-num { background: #fff; color: #111; border-color: rgba(17,17,17,.4); }
@media (min-width: 768px) { .tlt .svc-track-3 .fc-track { right: calc((100% - 3rem) / 3 - 1.5rem); } }
/* Plans */
.tlt .svc-tier.is-featured { box-shadow: 0 0 0 2px #54EDE2, 0 28px 60px -32px rgba(84,237,226,.9); }
/* Bundle and save: charcoal panel, a 15% aqua hairline all the way around (no left edge bar, 2026-10-20 rev) */
.tlt .svc-bundle { box-shadow: inset 0 0 0 1px rgba(84,237,226,.15), 0 16px 40px -28px rgba(17,17,17,.6); }
.tlt .svc-bundle-glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(50% 45% at 100% 0%, rgba(84,237,226,.18), rgba(84,237,226,0) 70%); }
.tlt .svc-bundle-form fieldset.svc-pick-set { margin: 0; padding: 0; border: 0; min-width: 0; }
.tlt .svc-pick-legend { padding: 0; font-size: 1.25rem; font-weight: 800; letter-spacing: -.01em; color: #fff; }
.tlt .svc-pick-hint { margin-top: .35rem !important; font-size: .95rem; color: rgba(247,247,245,.82); }
.tlt .svc-pick-groups { display: grid; gap: 1.75rem 1.5rem; margin-top: 1.5rem; }
@media (min-width: 768px) { .tlt .svc-pick-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tlt .svc-pick-gtitle { display: flex; align-items: center; gap: .5rem; margin-bottom: .6rem !important; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.tlt .svc-pick-gtitle .hub-dot { box-shadow: 0 0 0 1px rgba(255,255,255,.55); }
.tlt .svc-pick-list { display: grid; gap: .5rem; }
.tlt .svc-pick { --g: #54EDE2; position: relative; border-radius: 1rem; background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
  padding: .8rem 1rem .85rem 3.1rem; transition: background-color .2s ease, box-shadow .2s ease; }
.tlt .svc-pick[data-group=web] { --g: #A9B6C3; }
.tlt .svc-pick[data-group=ai] { --g: linear-gradient(180deg,#54EDE2,#F3A56B); }
.tlt .svc-pick[data-group=grow] { --g: #F3A56B; }
.tlt .svc-pick::before { content: ""; position: absolute; left: 0; top: .85rem; bottom: .85rem; width: 3px; border-radius: 0 3px 3px 0; background: var(--g); }
.tlt .svc-bundle-form .svc-pick .wpcf7-form-control-wrap,
.tlt .svc-bundle-form .svc-pick .wpcf7-list-item { position: static; display: block; margin: 0; }
.tlt .svc-bundle-form .svc-pick .wpcf7-form-control { display: block; position: static; min-height: 0; width: auto; border: 0; border-radius: 0; background: none; padding: 0; box-shadow: none; }
.tlt .svc-bundle-form .svc-pick label { display: block; cursor: pointer; font-size: 1rem; font-weight: 700; line-height: 1.35; color: #fff; }
.tlt .svc-bundle-form .svc-pick label::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.tlt .svc-bundle-form .svc-pick input[type=checkbox] { position: absolute; left: 1rem; top: .85rem; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: #54EDE2; cursor: pointer; z-index: 1; }
.tlt .svc-pick-out { display: block; margin-top: .2rem; font-size: .875rem; line-height: 1.45; color: rgba(247,247,245,.8); }
.tlt .svc-pick:hover { background: rgba(255,255,255,.08); }
.tlt .svc-pick:has(input:checked) { background: rgba(84,237,226,.12); box-shadow: inset 0 0 0 2px #54EDE2; }
.tlt .svc-pick:has(input:focus-visible) { outline: 2px solid #fff; outline-offset: 3px; }
.tlt .svc-count { display: flex; align-items: center; gap: .65rem; margin-top: 1.5rem !important; padding: .75rem 1rem; border-radius: 1rem; background: rgba(84,237,226,.12);
  font-size: 1.0625rem; font-weight: 700; color: #fff; }
.tlt .svc-count::before { content: ""; flex: none; width: .65rem; height: .65rem; border-radius: 9999px; background: #54EDE2; }
.tlt .svc-fields { display: grid; gap: 1.25rem; margin-top: 2rem; }
@media (min-width: 768px) { .tlt .svc-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tlt .svc-field-wide { grid-column: 1 / -1; } }
.tlt .svc-bundle-form .svc-fields .tlt-field { margin-top: 0; }
.tlt .svc-bundle-form .tlt-field label { color: #fff; }
.tlt .svc-bundle-form .tlt-opt, .tlt .svc-bundle-form .tlt-hint { color: rgba(247,247,245,.8); }
.tlt .svc-bundle-form .wpcf7-not-valid-tip { color: #F3A56B; }
.tlt .svc-bundle-form .tlt-submit-p { margin-top: 1.75rem; }
.tlt .svc-bundle-form input[type=submit] { width: auto; min-height: 3rem; padding: 0 2rem; background: #54EDE2; color: #111; font-size: 1rem; }
.tlt .svc-bundle-form input[type=submit]:hover { background: #fff; }
@media (max-width: 639.98px) { .tlt .svc-bundle-form input[type=submit] { width: 100%; } }
/* Why trust us */
.tlt .svc-trust-dot { flex: none; width: .55rem; height: .55rem; border-radius: 9999px; background: #54EDE2; box-shadow: 0 0 0 1px rgba(17,17,17,.35); }
/* FAQ on white: paper cards */
.tlt .svc-faq .fc-faq-item { background: #F7F7F5; }
.tlt .svc-faq .fc-faq-q:hover { background: #EFEFEC; }
/* The full details */
.tlt .svc-prose { font-size: 1.0625rem; line-height: 1.75; color: rgba(17,17,17,.85); }
@media (min-width: 640px) { .tlt .svc-prose { font-size: 1.125rem; } }
.tlt .svc-prose p + p, .tlt .svc-prose p + ul { margin-top: 1rem; }
.tlt .svc-detail-list { display: grid; gap: .6rem; margin: 1.25rem 0 0; padding: 0; list-style: none; color: #111; font-weight: 500; }
.tlt .svc-band a { min-height: 2.75rem; }
/* What we fix: wall of non-interactive pills, grouped (mist + charcoal text, 15.5:1). service.js collapses it to about
   three rows (two on phones) via --fixes-h, with a paper fade and the "Show all fixes" toggle. No JS: everything shows. */
.tlt .svc-fixes-wall { position: relative; display: grid; gap: 1rem; }
.tlt .svc-fix-h { margin: 0 0 .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #111; }
.tlt .svc-fix-list { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.tlt .svc-fix { display: inline-flex; align-items: center; min-height: 2.25rem; margin: 0; padding: .35rem .9rem; border-radius: 9999px; background: #E9E9E6;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.1); font-size: .9375rem; font-weight: 600; line-height: 1.3; color: #111; cursor: default; }
.tlt .svc-fix-more { justify-self: start; background: #fff; box-shadow: inset 0 0 0 1px rgba(17,17,17,.35); }
.tlt .fc-anim .svc-fixes-wall { overflow: hidden; transition: max-height .45s ease; }
.tlt .fc-anim .svc-fixes:not(.is-open) .svc-fixes-wall { max-height: var(--fixes-h, 10.5rem); }
.tlt .fc-anim .svc-fixes:not(.is-open) .svc-fixes-wall::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3.5rem; pointer-events: none;
  background: linear-gradient(rgba(247,247,245,0), #F7F7F5 85%); }
.tlt .svc-fixes-btn svg { transition: transform .2s ease; }
.tlt .svc-fixes.is-open .svc-fixes-btn svg { transform: rotate(180deg); }
/* Per-block toggle labels (pills_toggle): service.js only toggles .is-open, so show the matching label; the other is display:none */
.tlt .svc-fixes .svc-lbl-open, .tlt .svc-fixes.is-open .svc-lbl-closed { display: none; }
.tlt .svc-fixes.is-open .svc-lbl-open { display: inline; }
/* pills_layout: list (e.g. Health Check "The 8 scans"): same groups, collapse and toggle, but a plain checked list for longer
   items: one column, two from 768px. Items stay li.svc-fix so service.js measures the collapsed rows the same way. */
.tlt .svc-fixes--list .svc-fixes-wall { gap: 1.75rem; }
.tlt .svc-fixes--list .svc-fix-h { margin-bottom: .75rem; }
.tlt .svc-fixes--list .svc-fix-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: .625rem 2rem; }
@media (min-width: 768px) { .tlt .svc-fixes--list .svc-fix-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tlt .svc-fixes--list .svc-fix { display: flex; align-items: flex-start; gap: .75rem; min-height: 0; padding: 0; border-radius: 0; background: none;
  box-shadow: none; font-size: 1rem; font-weight: 500; line-height: 1.5; }
/* Your accessibility page and badge: the shared badge inset in a paper card beside the copy, labeled "Example" */
.tlt .svc-badge-row { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .tlt .svc-badge-row { grid-template-columns: minmax(0, 1fr) 19.5rem; gap: 2rem; align-items: start; } }
@media (min-width: 1024px) { .tlt .svc-badge-row { grid-template-columns: minmax(0, 1fr) 22rem; } }
.tlt .svc-badge-card { box-shadow: 0 0 0 1px #E9E9E6, 0 16px 40px -28px rgba(17,17,17,.45); }
/* In this card the badge keeps its compact label tracking at every width, so "Last Accessibility Assessment:" stays on one line */
.tlt .svc-badge-card .a11y-badge > p:first-of-type { letter-spacing: .02em; }
.tlt .svc-badge-ex { font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #111; }
/* Thank-you note */
.tlt .svc-note { border-left: 4px solid #54EDE2; box-shadow: 0 0 0 1px #E9E9E6, 0 16px 40px -28px rgba(17,17,17,.45); }
.tlt .svc-code code { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 1.1rem; border-radius: .75rem; background: #fff; border: 2px dashed rgba(17,17,17,.45);
  font-family: inherit; font-size: 1.125rem; font-weight: 800; letter-spacing: .14em; color: #111; -webkit-user-select: all; user-select: all; }
.tlt .svc-sign { font-family: Caveat, 'Segoe Script', cursive; font-size: 2rem; line-height: 1; color: #111; }
/* Phones: slim sticky bar with the two jump links. It never covers content or focus: the page gets matching bottom padding,
   scroll-padding keeps focused and jumped-to elements above it, and service.js hides it near the hero buttons and the form. */
.tlt .svc-sticky { display: none; }
@media (max-width: 767.98px) {
  .tlt .svc-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: flex; gap: .5rem;
    padding: .5rem max(.75rem, env(safe-area-inset-right)) calc(.5rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
    background: rgba(17,17,17,.97); box-shadow: 0 -10px 24px -14px rgba(0,0,0,.6); transition: transform .25s ease, visibility .25s ease; }
  .tlt .svc-sticky.is-off { transform: translateY(110%); visibility: hidden; }
  .tlt .svc-sticky-btn { flex: 1; display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; border-radius: 9999px;
    font-size: .9375rem; font-weight: 600; color: #fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.65); }
  .tlt .svc-sticky-btn.is-primary { background: #54EDE2; color: #111; box-shadow: none; }
  .tlt .svc-sticky-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: none; }
  html:has(.svc-sticky) { scroll-padding-bottom: 4.5rem; }
  body:has(.svc-sticky) { padding-bottom: calc(3.75rem + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .tlt .fc-anim .svc-ba-play { display: none !important; }
  .tlt .svc-pin { transition: none !important; }
  .tlt .fc-anim .svc-ba:not(.pins-in) .svc-pin { opacity: 1; }
  .tlt .svc-pick, .tlt .svc-sticky, .tlt .fc-anim .svc-fixes-wall, .tlt .svc-fixes-btn svg { transition: none !important; }
  .tlt .fc-anim .svc-checks:not(.is-in) .fc-tick path { stroke-dashoffset: 0 !important; }
}
/* ---------- 16b. Care Plan and Monitoring sections (2026-10-24): hours picker, year timeline, "Why issues come back",
   "What changed?" log, Monitoring vs Care Plan table. Text is charcoal on white/paper/mist/tints, or paper on charcoal (all 7:1 or more). */
.tlt .svc-js { display: none !important; }
.tlt .fc-anim .svc-js { display: block !important; }
.tlt .fc-anim .svc-nojs { display: none !important; }
.tlt [data-svc-panel][hidden], .tlt [data-bill][hidden] { display: none !important; }
.tlt .svc-head-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; }
.tlt .svc-ex { margin: 0; }
/* Hours picker: two native radio groups (arrow keys move within each); the radio itself is invisible, the card shows state */
.tlt .svc-picker-grid { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 1024px) { .tlt .svc-picker-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 3rem; } }
.tlt .svc-fs { margin: 0; padding: 0; border: 0; min-width: 0; }
.tlt .svc-fs + .svc-fs { margin-top: 2rem; }
.tlt .svc-fs-legend { padding: 0; font-size: 1.125rem; font-weight: 800; letter-spacing: -.01em; color: #111; }
.tlt .svc-hours { display: grid; gap: .75rem; margin-top: 1rem; }
.tlt .svc-hour, .tlt .svc-bill-opt { position: relative; display: block; cursor: pointer; }
.tlt .svc-hour input, .tlt .svc-bill-opt input { position: absolute; top: 50%; left: 1rem; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.tlt .svc-hour-box { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .3rem .85rem; min-height: 4.25rem;
  padding: .85rem 1.1rem; border-radius: 1.1rem; background: #fff; box-shadow: inset 0 0 0 1px rgba(17,17,17,.3); transition: box-shadow .2s ease, background-color .2s ease; }
.tlt .svc-hour:hover .svc-hour-box { box-shadow: inset 0 0 0 2px rgba(17,17,17,.6); }
.tlt .svc-hour input:checked + .svc-hour-box { background: #E6FBF9; box-shadow: inset 0 0 0 2px #111; }
.tlt .svc-hour input:focus-visible + .svc-hour-box { outline: 3px solid #111; outline-offset: 3px; }
.tlt .svc-hour-tick { grid-row: 1 / span 2; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 9999px; background: #fff;
  box-shadow: inset 0 0 0 2px rgba(17,17,17,.6); color: #54EDE2; }
.tlt .svc-hour-tick svg { width: .95rem; height: .95rem; opacity: 0; }
.tlt .svc-hour input:checked + .svc-hour-box .svc-hour-tick { background: #111; box-shadow: none; }
.tlt .svc-hour input:checked + .svc-hour-box .svc-hour-tick svg { opacity: 1; }
.tlt .svc-hour-t { font-size: 1.125rem; font-weight: 800; letter-spacing: -.01em; color: #111; }
.tlt .svc-hour-badge { display: inline-flex; align-items: center; justify-self: start; padding: .1rem .6rem; border-radius: 9999px; background: #54EDE2; color: #111;
  font-size: .75rem; font-weight: 700; line-height: 1.5; }
.tlt .svc-hour-box .svc-hour-badge { grid-column: 2; grid-row: 2; }
.tlt .svc-hour-p { grid-column: 3; grid-row: 1 / span 2; text-align: right; font-size: 1.375rem; font-weight: 800; letter-spacing: -.01em; color: #111; line-height: 1.15; }
.tlt .svc-hour-pn { display: block; font-size: .8125rem; font-weight: 500; letter-spacing: 0; color: rgba(17,17,17,.82); }
.tlt .svc-bill { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem; margin-top: 1rem; padding: .3rem; border-radius: 9999px; background: #fff;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.3); }
.tlt .svc-bill-opt > span { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 .4rem; min-height: 2.75rem; padding: .3rem .8rem;
  border-radius: 9999px; font-size: 1rem; font-weight: 700; line-height: 1.2; text-align: center; color: #111; transition: background-color .2s ease, color .2s ease; }
.tlt .svc-bill-opt:hover > span { background: #E9E9E6; }
.tlt .svc-bill-opt input:checked + span { background: #111; color: #fff; }
.tlt .svc-bill-opt input:focus-visible + span { outline: 3px solid #111; outline-offset: 3px; }
.tlt .svc-bill-save { font-size: .8125rem; font-weight: 600; }
/* 2026-10-26: plan chooser, keep short price phrases on one line */
.tlt .svc-nowrap, .tlt .svc-bill-save, .tlt .svc-hour-pn, .tlt .svc-hour-badge { white-space: nowrap; }
.tlt .svc-first { margin-top: 1.25rem; padding: .85rem 1rem; border-radius: 1rem; background: rgba(84,237,226,.12); box-shadow: inset 0 0 0 1px rgba(84,237,226,.35);
  font-size: 1rem; line-height: 1.5; color: #F7F7F5; }
.tlt .svc-first-k { font-weight: 800; color: #fff; }
.tlt .svc-first-list { display: grid; gap: .5rem; margin-left: 0; padding: 0; list-style: none; font-size: 1rem; line-height: 1.5; color: #111; }
/* Tables: plan options (no JS) and Monitoring vs Care Plan */
.tlt .svc-cmp-wrap { overflow-x: auto; border-radius: 1.5rem; background: #fff; box-shadow: 0 0 0 1px #E2E2DE, 0 16px 40px -28px rgba(17,17,17,.45); }
.tlt .svc-cmp-wrap:focus-visible { outline: 3px solid #111; outline-offset: 3px; }
.tlt .svc-cmp { width: 100%; margin: 0; border-collapse: collapse; font-size: .9375rem; line-height: 1.45; color: #111; }
@media (min-width: 640px) { .tlt .svc-cmp { font-size: 1rem; } }
.tlt .svc-cmp th, .tlt .svc-cmp td { padding: .8rem .75rem; border: 0; border-bottom: 1px solid #E9E9E6; text-align: left; vertical-align: top; }
@media (min-width: 768px) { .tlt .svc-cmp th, .tlt .svc-cmp td { padding: 1rem 1.25rem; } }
.tlt .svc-cmp thead th { background: #F7F7F5; font-size: .875rem; font-weight: 800; color: #111; }
.tlt .svc-cmp tbody th { width: 34%; font-weight: 700; }
.tlt .svc-cmp tbody tr:last-child > * { border-bottom: 0; }
.tlt .svc-cmp .is-here { background: #E6FBF9; }
.tlt .svc-cmp thead .is-here { background: #C8F7F3; }
.tlt .svc-here { display: table; margin-top: .35rem; padding: .05rem .55rem; border-radius: 9999px; background: #111; color: #fff; font-size: .75rem; font-weight: 700; }
.tlt .svc-cmp-cell { display: flex; align-items: flex-start; gap: .5rem; }
.tlt .svc-cmp-ico { flex: none; width: 1.25rem; height: 1.25rem; margin-top: .05rem; }
.tlt .svc-cap { caption-side: top; padding: 1.1rem 1.25rem .4rem; text-align: left; font-size: 1.125rem; font-weight: 800; color: #111; }
.tlt .svc-opts .svc-hour-badge { margin-left: .35rem; }
/* 2026-10-26 evening (UI spec, Vadim's review): no left-only accent; a 1px border on all four sides and equal padding. */
.tlt .svc-upsell { padding: 1.25rem; border: 1px solid rgb(17 17 17 / .2); border-radius: 1.25rem; background: #C8F7F3; font-size: 1.0625rem; font-weight: 600; line-height: 1.55; color: #111; }
.tlt .svc-upsell .svc-inline-link { text-decoration-color: #111; }
/* Year timeline: one card per month, the work in a native <details> */
.tlt .svc-year-list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .tlt .svc-year-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tlt .svc-year-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tlt .svc-month { display: flex; flex-direction: column; height: 100%; padding: 1.25rem; border-radius: 1.5rem; background: #F7F7F5; box-shadow: 0 0 0 1px #E9E9E6; }
.tlt .svc-month-h { display: flex; align-items: center; gap: .75rem; margin: 0; font-size: 1.125rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.25; color: #111; }
.tlt .svc-month-n { flex: none; display: grid; place-items: center; min-width: 2.75rem; height: 2rem; padding: 0 .5rem; border-radius: 9999px; background: #111; color: #54EDE2;
  font-size: .875rem; font-weight: 800; }
.tlt .svc-month-status { display: flex; align-items: flex-start; gap: .55rem; margin-top: .85rem; font-size: .9375rem; font-weight: 700; line-height: 1.4; color: #111; }
.tlt .svc-status-dot { flex: none; width: .75rem; height: .75rem; margin-top: .3rem; border-radius: 9999px; background: #54EDE2; box-shadow: 0 0 0 1px rgba(17,17,17,.4); }
.tlt .svc-month-status.is-open .svc-status-dot { border-radius: 2px; background: #F3A56B; transform: rotate(45deg); }
.tlt .svc-sev-k { margin-top: .9rem; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #111; }
.tlt .svc-sev { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin: .4rem 0 0; padding: 0; list-style: none; }
.tlt .svc-sev li { display: flex; flex-direction: column; align-items: center; padding: .35rem .15rem; border-radius: .7rem; background: #fff; box-shadow: inset 0 0 0 1px #E2E2DE;
  font-size: .75rem; font-weight: 600; line-height: 1.3; color: #111; }
.tlt .svc-sev b { font-size: 1.125rem; font-weight: 800; }
.tlt .svc-sev li.has { background: #E9E9E6; box-shadow: none; }
.tlt .svc-sev li.is-critical.has, .tlt .svc-sev li.is-serious.has { background: #FCE2CF; }
.tlt .svc-hrs { margin-top: .9rem; font-size: .9375rem; font-weight: 600; color: #111; }
.tlt .svc-hrs-bar { display: block; height: .5rem; margin-top: .4rem; border-radius: 9999px; background: #E2E2DE; overflow: hidden; }
.tlt .svc-hrs-bar i { display: block; width: var(--w, 0%); height: 100%; border-radius: inherit; background: #111; }
.tlt .svc-month-more { margin-top: auto; padding-top: 1rem; }
.tlt .svc-month-more summary { display: flex; align-items: center; justify-content: space-between; min-height: 2.75rem; padding: 0 .9rem; border-radius: .9rem;
  background: #fff; box-shadow: inset 0 0 0 1px rgba(17,17,17,.3); font-size: .9375rem; font-weight: 700; color: #111; cursor: pointer; list-style: none; }
.tlt .svc-month-more summary::-webkit-details-marker { display: none; }
.tlt .svc-month-more summary::after { content: "+"; font-size: 1.25rem; font-weight: 700; line-height: 1; }
.tlt .svc-month-more[open] summary::after { content: "\2212"; }
.tlt .svc-month-more summary:hover { background: #E9E9E6; }
.tlt .svc-month-more summary:focus-visible { outline: 3px solid #111; outline-offset: 2px; }
.tlt .svc-month-dl, .tlt .svc-log-dl { display: grid; gap: .65rem; margin: .85rem 0 0; font-size: .9375rem; line-height: 1.5; }
.tlt .svc-month-dl dt, .tlt .svc-log-dl dt { font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #111; }
.tlt .svc-month-dl dd, .tlt .svc-log-dl dd { margin: .1rem 0 0; color: rgba(17,17,17,.88); }
.tlt .svc-month-dl ul { margin: 0; padding-left: 1.1rem; list-style: disc; }
/* Why issues come back */
/* 2026-10-26 evening (UI spec): "margin: 0" here cancelled the list's mt-12, so the cards sat right under the lead (0px).
   Now 3rem (48px), the same lead-to-content gap as "Is this for you?" and "How it works" on this page. */
.tlt .svc-why-list { display: grid; gap: 1rem; margin: 3rem 0 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .tlt .svc-why-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .tlt .svc-why-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tlt .svc-why-list { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.tlt .svc-why-card { display: block; padding: 1.25rem; border-radius: 1.5rem; background: #F7F7F5; box-shadow: 0 0 0 1px #E9E9E6; }
.tlt .svc-why-n { display: inline-grid; place-items: center; min-width: 2.5rem; height: 2rem; padding: 0 .5rem; border-radius: 9999px; background: #FCE2CF; color: #111;
  font-size: .875rem; font-weight: 800; }
/* What changed? example log on charcoal */
.tlt .svc-log-list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .tlt .svc-log-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tlt .svc-log-card { display: block; padding: 1.35rem; border-radius: 1.5rem; background: #fff; }
.tlt .svc-log-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.tlt .svc-sevchip { display: inline-flex; align-items: center; gap: .45rem; padding: .2rem .7rem; border-radius: 9999px; font-size: .8125rem; font-weight: 700; color: #111; }
.tlt .svc-sevchip-mark { width: .6rem; height: .6rem; background: #111; }
.tlt .svc-sevchip.is-critical { background: #F3A56B; }
.tlt .svc-sevchip.is-critical .svc-sevchip-mark { transform: rotate(45deg); }
.tlt .svc-sevchip.is-serious { background: #FCE2CF; }
.tlt .svc-sevchip.is-serious .svc-sevchip-mark { border-radius: 2px; }
.tlt .svc-sevchip.is-moderate { background: #E9E9E6; }
.tlt .svc-sevchip.is-moderate .svc-sevchip-mark { border-radius: 9999px; }
.tlt .svc-sevchip.is-minor { background: #fff; box-shadow: inset 0 0 0 1px rgba(17,17,17,.4); }
.tlt .svc-sevchip.is-minor .svc-sevchip-mark { border-radius: 9999px; background: transparent; box-shadow: inset 0 0 0 2px #111; }
.tlt .svc-logged { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: #111; }
.tlt .svc-logged::before { content: ""; width: .55rem; height: .55rem; border-radius: 9999px; background: #54EDE2; box-shadow: 0 0 0 1px rgba(17,17,17,.4); }
.tlt .svc-log .svc-inline-link { color: #fff; text-decoration-color: #54EDE2; }
.tlt .svc-log .svc-inline-link:focus-visible, .tlt .svc-upsell .svc-inline-link:focus-visible, .tlt .svc-year .svc-inline-link:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .tlt .svc-hour-box, .tlt .svc-bill-opt > span { transition: none !important; }
}
/* ---------- 16c. Basic preview of custom ## sections (s_custom, PENDING_SLUGS only, 2026-10-24) */
.tlt .svc-x-cards { display: grid; gap: 1rem; margin-left: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .tlt .svc-x-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tlt .svc-x-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tlt .svc-x-list { margin: .75rem 0 0; padding-left: 1.2rem; list-style: disc; font-size: 1rem; line-height: 1.55; color: #111; }
.tlt .svc-x-list li + li { margin-top: .35rem; }
.tlt .svc-x .svc-why-card .svc-month-dl dd { color: #111; }

/* 2026-10-26: "Describe the problem" box on a quote card (Small Business Tech Support, Something else). 7:1 text, 3:1 border. */
.tlt .svc-describe-l { display: block; font-size: 1rem; font-weight: 700; color: #111; }
.tlt .svc-describe-h { margin-top: .25rem; font-size: .9375rem; line-height: 1.5; color: #333; }
.tlt .svc-describe-ta { display: block; width: 100%; margin-top: .5rem; min-height: 6.5rem; padding: .75rem .875rem; border: 2px solid #555; border-radius: .875rem;
  background: #fff; color: #111; font: inherit; font-size: 1rem; line-height: 1.5; resize: vertical; }
.tlt .svc-describe-ta:focus-visible { outline: 3px solid #111; outline-offset: 2px; border-color: #111; }
@media (forced-colors: active) { .tlt .svc-describe-ta { border-color: CanvasText; } .tlt .svc-describe-ta:focus-visible { outline-color: Highlight; } }

/* 2026-10-26: "block equation" plans layout (gen_service s_plans_equation, Content Marketing blueprint).
   [Block 1] + [Block 2] = [Both blocks], then full-width strips, then a banner. Static, no JS.
   Text: #111 / #2B2B2B on mist, paper and white; #F7F7F5 / #D6D6D2 on charcoal (all above 7:1).
   Aqua only for lines, the operator signs on charcoal, the CTA fill and icons. Signal orange only as a tag fill with #111 text. */
.tlt .svc-eq { display: grid; grid-template-columns: 1fr; gap: 56px; list-style: none; margin-left: 0; padding: 0; }
@media (min-width: 1024px) { .tlt .svc-eq { grid-template-columns: 1fr 1fr 1.12fr; align-items: stretch; } }
.tlt .svc-eq-card { position: relative; display: flex; flex-direction: column; border-radius: 1.25rem; padding: 1.75rem 1.5rem; }
@media (min-width: 1024px) { .tlt .svc-eq-card { padding: 2rem 1.75rem; } }
.tlt .svc-eq-block { background: #E9E9E6; border: 1px solid #D6D6D2; color: #111; }
.tlt .svc-eq-combo { background: #111; color: #F7F7F5; border-top: 3px solid #54EDE2; box-shadow: 0 18px 40px -24px rgba(17,17,17,.55); }
.tlt .svc-eq-op-plus::before, .tlt .svc-eq-op-eq::before {
  position: absolute; left: 50%; top: -50px; transform: translateX(-50%); display: grid; place-items: center;
  width: 44px; height: 44px; border-radius: 9999px; background: #111; color: #54EDE2; border: 2px solid #111;
  font: 600 1.375rem/1 Outfit, 'Avenir Next', 'Segoe UI', sans-serif; }
.tlt .svc-eq-op-plus::before { content: "+"; content: "+" / ""; }
.tlt .svc-eq-op-eq::before { content: "="; content: "=" / ""; }
@media (min-width: 1024px) { .tlt .svc-eq-op-plus::before, .tlt .svc-eq-op-eq::before { left: -50px; top: 50%; transform: translateY(-50%); } }
.tlt .svc-eq-eyebrow { display: flex; align-items: center; justify-content: space-between; gap: .6rem; min-height: 1.75rem;
  font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #2B2B2B; }
.tlt .svc-eq-block .svc-eq-eyebrow { justify-content: flex-start; }
.tlt .svc-eq-eyebrow-dark { color: #D6D6D2; }
.tlt .svc-eq-ico { width: 1.5rem; height: 1.5rem; flex: none; color: #111; }
.tlt .svc-eq-tag { display: inline-block; padding: .2rem .55rem; border-radius: .3rem; background: #F3A56B; color: #111; letter-spacing: .08em; white-space: nowrap; }
.tlt .svc-eq-title { margin-top: .9rem; font-size: 1.625rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.15; }
.tlt .svc-eq-price { margin-top: .9rem; font-size: 2.25rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.tlt .svc-eq-pn { font-size: 1rem; font-weight: 500; letter-spacing: 0; color: #2B2B2B; }
.tlt .svc-eq-combo .svc-eq-pn, .tlt .svc-eq-math { color: #D6D6D2; }
.tlt .svc-eq-math { margin-top: .3rem; font-size: .9375rem; font-weight: 600; }
.tlt .svc-eq-sum { margin-top: .75rem; font-size: 1rem; line-height: 1.55; color: #2B2B2B; }
.tlt .svc-eq-combo .svc-eq-sum, .tlt .svc-eq-combo .svc-eq-list { color: #F7F7F5; }
.tlt .svc-eq-list { margin-top: 1.25rem; display: grid; align-content: start; gap: .75rem; font-size: 1rem; line-height: 1.45; color: #111; flex: 1; list-style: none; padding: 0; }
.tlt .svc-eq-cta { margin-top: 1.75rem; }
.tlt .svc-eq-strip { margin-top: 2rem; display: grid; gap: 1.25rem; padding: 1.5rem; border: 2px solid #111; border-radius: 1.25rem; background: #F7F7F5; color: #111; }
@media (min-width: 1024px) { .tlt .svc-eq-strip { grid-template-columns: 1.1fr 1.6fr .9fr; align-items: center; gap: 2rem; padding: 1.75rem 2rem; } }
.tlt .svc-eq-strip-head { display: flex; gap: .85rem; align-items: flex-start; }
.tlt .svc-eq-strip-head .svc-eq-ico { margin-top: 1.05rem; }
.tlt .svc-eq-strip .svc-eq-list { margin-top: 0; gap: .5rem; }
.tlt .svc-eq-strip .svc-eq-price { margin-top: 0; font-size: 1.875rem; }
.tlt .svc-eq-strip-buy .svc-eq-cta { margin-top: 1rem; }
.tlt .svc-eq-small { margin-top: .35rem; font-size: .9375rem; font-weight: 600; color: #2B2B2B; }
.tlt .svc-eq-banner { position: relative; overflow: hidden; margin-top: 1.5rem; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem;
  padding: 1.25rem 1.5rem; border-radius: 1.25rem; background-color: #111; color: #F7F7F5;
  background-image: linear-gradient(rgba(247,247,245,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(247,247,245,.06) 1px, transparent 1px);
  background-size: 28px 28px; }
.tlt .svc-eq-banner .svc-eq-ico { width: 2rem; height: 2rem; color: #54EDE2; }
.tlt .svc-eq-banner-t { flex: 1 1 18rem; font-size: 1.0625rem; font-weight: 600; line-height: 1.45; color: #F7F7F5; }
.tlt .svc-eq-banner-link { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 700; color: #F7F7F5; text-decoration: underline;
  text-decoration-color: #54EDE2; text-decoration-thickness: 2px; text-underline-offset: 5px; border-radius: .25rem; }
.tlt .svc-eq-banner-link:hover { text-decoration-color: #F7F7F5; }
.tlt .svc-eq-banner-link:focus-visible { outline: 3px solid #54EDE2; outline-offset: 3px; }
@media (forced-colors: active) {
  .tlt .svc-eq-block, .tlt .svc-eq-combo, .tlt .svc-eq-banner { border: 2px solid CanvasText; }
  .tlt .svc-eq-op-plus::before, .tlt .svc-eq-op-eq::before { border-color: CanvasText; color: CanvasText; }
  .tlt .svc-eq-tag { border: 1px solid CanvasText; }
}

/* ===== 2026-10-26: extended accessibility report fixes (approved t94u). Minimal, general overrides. ===== */
/* a. 320px header: below 360px the header "Free Consultation" button is hidden; the same button is at the bottom of the
      Menu panel, so nothing is lost. The row then fits at 320, also with WCAG 1.4.12 text spacing. */
@media (max-width: 359.98px) { .tlt .tlt-header-cta { display: none; } }
/* b. Forced colors removes box-shadow rings, so every focusable thing gets a real outline there (CanvasText). */
@media (forced-colors: active) {
  :is(a, button, summary, [tabindex]):focus-visible, :is(input, select, textarea):focus,
  svg :is(g, a)[tabindex]:focus-visible { outline: 2px solid CanvasText !important; outline-offset: 2px !important; }
  svg g[tabindex]:focus-visible rect { stroke: Highlight; stroke-width: 3px; }
}
/* c. Service cards: the decorative glow (::before) sat at inset -10%, which made each card's content box larger than the card
      (reads as clipped text at 320). Same look with inset 0: gradient sizes x1.2 and positions mapped (p' = 1.2p - 10%). */
.tlt .svc-card::before { inset: 0;
  background: radial-gradient(156% 132% at calc(var(--bx,85%) * 1.2 - 10%) calc(var(--by,10%) * 1.2 - 10%),rgba(var(--blob),var(--a1)) 0%,rgba(var(--blob),calc(var(--a1)*.55)) 28%,rgba(var(--blob),calc(var(--a1)*.18)) 52%,rgba(var(--blob),0) 72%),
              radial-gradient(108% 96% at calc(var(--b2x,10%) * 1.2 - 10%) calc(var(--b2y,95%) * 1.2 - 10%),rgba(var(--blob2,var(--blob)),var(--a2)) 0%,rgba(var(--blob2,var(--blob)),calc(var(--a2)*.5)) 30%,rgba(var(--blob2,var(--blob)),0) 68%); }
/* d + e. Low-alpha charcoal text (footer labels and links at 6.99:1, small home/services labels at 4.5-4.9:1) is lifted to
      charcoal at 74%, which is 7.4:1 on mist, 7.9:1 on paper and 8.2:1 on white. Same grey family, a little darker. */
.tlt .text-charcoal\/50, .tlt .text-charcoal\/55, .tlt .text-charcoal\/60, .tlt .text-charcoal\/65, .tlt .text-charcoal\/70 { color: rgb(17 17 17 / .74); }
/* f. Before/after demo stage: under text spacing the panes grew past the stage (grid items default to min-width:auto). */
.tlt .fc-ba-pane { min-width: 0; }
.tlt .fc-demo { min-width: 0; overflow-wrap: anywhere; }
/* ===== 2026-10-26 (hub-qa, Vadim 12:53 PM "Yes, start all of them"): open QA items, smallest change that keeps the look. ===== */
/* g. Home "Our Services" controls (tagline, count, prev/next): 305px wide in a 280px column at 320, so the page scrolled
      sideways (scrollWidth 325). Under 380px the row may wrap: tagline on one line, count and arrows below, right-aligned. */
@media (max-width: 379.98px) { .tlt #services div:has(> [data-service-count]) { flex-wrap: wrap; justify-content: flex-end; row-gap: .75rem; } }
/* h. "Example log" label in the home Paper Trail box: white at 45% on #121212 was 4.53:1; white at 60% is 7.18:1. */
.tlt .bento-box .text-white\/45 { color: rgb(255 255 255 / .6); }
/* i. Small charcoal labels at 70% (eyebrows, "On this page", article date) were 6.45-6.85:1 and the sample card excerpt at
      65% was 5.73:1: all lifted to charcoal at 74% like d + e (7.4:1 on mist, 7.9:1 on paper, 8.2:1 on white). */
.tlt-eyebrow, .tlt .legal-toc-title, .tlt-single-date, .tlt-articles .wp-block-post-excerpt__excerpt { color: rgba(17,17,17,.74); }

/* ===== 2026-10-26: site pages (404, About, Helpful Articles, Gallery, single article). PREVIEW ONLY for now.
   Markup: tools/theme/gen_site_pages.py (run by make_preview.py), script: tools/theme/src/site-pages.js (inlined in the
   previews only, not in tlt.js yet). Copy: content/404.md, about.md, articles.md, gallery.md. Prefix .sp-.
   Text #111 / #2B2B2B / #333 on light, #F7F7F5 / #D6D6D2 on charcoal (all 7:1 or more). Aqua only on charcoal or as lines. */
.tlt .sp-page { background: #F7F7F5; color: #111; }
.tlt .sp-wrap { position: relative; max-width: 72rem; margin: 0 auto; padding: 0 1.25rem; }
.tlt .sp-hero { position: relative; overflow: hidden; background: #F7F7F5; padding: 3.5rem 0 4rem; }
.tlt .sp-hero-404 { min-height: 70vh; display: flex; flex-direction: column; justify-content: center; }
.tlt .sp-hero-compact { min-height: 45vh; display: flex; flex-direction: column; justify-content: center; padding: 3rem 0; }
.tlt .sp-grid-bg { position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(17,17,17,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(17,17,17,.08) 1px, transparent 1px);
  background-size: 40px 40px; -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 75%); mask-image: linear-gradient(90deg, #000 0%, transparent 75%); }
.tlt .sp-cols { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .tlt .sp-cols { grid-template-columns: 7fr 5fr; gap: 3.5rem; } }
.tlt .sp-eyebrow { display: flex; align-items: center; gap: .75rem; font-size: .875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #111; }
.tlt .sp-eyebrow::before { content: ""; display: block; width: 2rem; height: 3px; background: #54EDE2; border-radius: 2px; }
.tlt .sp-h1 { margin: 1rem 0 0; font-size: clamp(2.25rem, 6vw, 3.4rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.08; color: #111; }
.tlt .sp-intro { margin-top: 1.25rem; max-width: 65ch; font-size: 1.125rem; line-height: 1.65; color: #2B2B2B; }
@media (min-width: 640px) { .tlt .sp-intro { font-size: 1.25rem; } }
.tlt .sp-h2 { margin: 0; font-size: clamp(1.875rem, 4vw, 2.4rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: #111; }
.tlt .sp-lead { margin-top: 1rem; max-width: 65ch; font-size: 1.125rem; line-height: 1.65; color: #2B2B2B; }
.tlt .sp-small { font-size: .9375rem; line-height: 1.6; color: #333; }
.tlt .sp-center { text-align: center; }
.tlt .sp-link { color: #111; font-weight: 600; text-decoration: underline; text-decoration-color: #111; text-decoration-thickness: 1.5px; text-underline-offset: 4px; border-radius: 2px; }
.tlt .sp-link:hover { text-decoration-thickness: 2.5px; }
.tlt .sp-page a:focus-visible, .tlt .sp-page button:focus-visible, .tlt .sp-page [tabindex]:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
.tlt .sp-dark a:focus-visible, .tlt .sp-dark button:focus-visible { outline-color: #F7F7F5; }
/* Buttons: primary = charcoal fill, paper text; secondary = charcoal outline */
.tlt .sp-btns { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: .75rem; }
@media (min-width: 768px) { .tlt .sp-btns { grid-template-columns: 1fr 1fr; max-width: 34rem; } }
.tlt .sp-btn { display: inline-flex; width: 100%; min-height: 2.75rem; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1.5rem;
  border-radius: 9999px; border: 2px solid #111; font-size: 1rem; font-weight: 600; line-height: 1.25; text-align: center; text-decoration: none; }
.tlt .sp-btn-primary { background: #111; color: #F7F7F5; }
.tlt .sp-btn-primary:hover { background: #000; }
.tlt .sp-btn-secondary { background: transparent; color: #111; }
.tlt .sp-btn-secondary:hover { background: #E9E9E6; }
.tlt .sp-btn-paper { width: auto; background: #F7F7F5; color: #111; border-color: #F7F7F5; }
.tlt .sp-btn-paper:hover { background: #fff; }
.tlt .sp-btn-auto { width: auto; }
.tlt .sp-404-small { position: relative; margin-top: 3rem; padding: 0 1.25rem; }
/* 404 visual: elevator floor indicator (aria-hidden) */
.tlt .sp-elev-wrap { position: relative; justify-self: center; width: min(100%, 15rem); padding: 1.25rem; color: #54EDE2; }
@media (min-width: 1024px) { .tlt .sp-elev-wrap { width: min(100%, 22rem); } }
.tlt .sp-elev { position: relative; display: grid; justify-items: center; gap: 1rem; padding: 2rem 1.5rem; border-radius: 1.5rem; background: #111;
  box-shadow: 0 24px 48px -28px rgba(17,17,17,.6); }
.tlt .sp-elev-screen { display: flex; align-items: center; justify-content: center; gap: .9rem; width: 100%; padding: 1.4rem 1rem; border-radius: .9rem;
  background: #000; box-shadow: inset 0 0 0 1px rgba(247,247,245,.14); }
.tlt .sp-seg { display: block; width: 2.6rem; height: .5rem; border-radius: .25rem; background: #54EDE2; box-shadow: 0 0 14px rgba(84,237,226,.45); }
@media (min-width: 1024px) { .tlt .sp-seg { width: 3.6rem; height: .65rem; } }
.tlt .sp-elev-arrow { width: 1.75rem; height: 2.75rem; color: #54EDE2; }
.tlt .sp-elev-dots { display: flex; gap: .5rem; }
.tlt .sp-elev-dots i { display: block; width: .5rem; height: .5rem; border-radius: 9999px; background: rgba(247,247,245,.25); }
.tlt .sp-corner { position: absolute; width: 2.25rem; height: 2.25rem; color: currentColor; }
.tlt .sp-corner-tl { left: 0; top: 0; }
.tlt .sp-corner-br { right: 0; bottom: 0; transform: rotate(180deg); }
@media (prefers-reduced-motion: no-preference) {
  .tlt .sp-elev-arrow { animation: sp-rise 1.6s ease-out 1 both; }
  @keyframes sp-rise { 0% { opacity: 0; transform: translateY(10px); } 60% { opacity: 1; } 100% { opacity: 1; transform: none; } }
}
/* Sections */
.tlt .sp-sec { position: relative; padding: 4.5rem 0; }
@media (min-width: 1024px) { .tlt .sp-sec { padding: 6rem 0; } }
.tlt .sp-bg-mist { background: #E9E9E6; }
.tlt .sp-bg-paper { background: #F7F7F5; }
.tlt .sp-bg-white { background: #fff; }
.tlt .sp-dark { background: #111; color: #F7F7F5; }
.tlt .sp-dark .sp-h2 { color: #F7F7F5; }
.tlt .sp-dark .sp-lead { color: #D6D6D2; }
.tlt .sp-photo { position: relative; padding: .9rem; color: #111; }
.tlt .sp-photo-slot { aspect-ratio: 4 / 3; width: 100%; border-radius: 1.5rem; background: #E9E9E6;
  background-image: linear-gradient(rgba(17,17,17,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(17,17,17,.06) 1px, transparent 1px); background-size: 24px 24px; }
.tlt .sp-photo-img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 1.5rem; }
.tlt .sp-photo-aqua { color: #54EDE2; }
/* About hero photo (2026-10-27 10:13 PM): 4:3, centered, fills the slot */
.tlt .sp-hero-slot { overflow: hidden; }
.tlt .sp-hero-img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 50%; border-radius: 1.5rem; }
/* How we work */
.tlt .sp-principles { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 768px) { .tlt .sp-principles { grid-template-columns: 1fr 1fr; gap: 1.25rem; } }
.tlt .sp-principle { position: relative; height: 100%; padding: 1.75rem 1.5rem; border-radius: 1.25rem; background: #fff; border-top: 1px solid #54EDE2;
  box-shadow: inset 0 1px 0 #54EDE2, 0 16px 40px -30px rgba(17,17,17,.45); }
.tlt .sp-num { display: block; width: 4.5rem; height: 2.75rem; }
.tlt .sp-num text { font-family: Outfit, 'Avenir Next', 'Segoe UI', sans-serif; font-weight: 800;
  /* Option B (Vadim 10:13 PM): stroke painted under the white fill hides the inner contour seams */
  paint-order: stroke fill; stroke-linejoin: round; font-variant-numeric: tabular-nums lining-nums; }
.tlt .sp-principle h3 { margin: 1rem 0 0; font-size: 1.25rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.3; color: #111; }
.tlt .sp-principle p { margin: .6rem 0 0; font-size: 1rem; line-height: 1.65; color: #2B2B2B; }
/* DV dividers sit at the top of a section */
.tlt .sp-dv { --line: rgba(17,17,17,.3); --ink: #111; }
.tlt .sp-dark.sp-dv { --line: rgba(247,247,245,.4); --ink: #F7F7F5; }
/* Meet Vadim + resume card */
.tlt .sp-founder { display: grid; gap: 2rem; align-items: start; }
/* 2026-10-27 credentials card layout. Mobile: heading, photo (max 320px, centered), text, card. Desktop (1024+): 5/7 columns,
   photo with the card 24px under it on the left; heading and text on the right; columns top-aligned. */
.tlt .sp-founder-photo { width: 100%; max-width: 320px; justify-self: center; }
@media (min-width: 1024px) {
  .tlt .sp-founder { grid-template-columns: 5fr 7fr; grid-template-rows: auto auto 1fr; column-gap: 3.5rem; row-gap: 0; }
  .tlt .sp-founder-head { grid-column: 2; grid-row: 1; }
  .tlt .sp-founder-photo { grid-column: 1; grid-row: 1 / span 2; max-width: none; justify-self: stretch; }
  .tlt .sp-founder-text { grid-column: 2; grid-row: 2 / span 2; margin-top: 1.5rem; }
  .tlt .sp-founder .sp-cred { grid-column: 1; grid-row: 3; margin: calc(24px - .9rem) .9rem 0; }
}
.tlt .sp-founder-text p { margin: 1rem 0 0; max-width: 65ch; font-size: 1.0625rem; line-height: 1.7; color: #2B2B2B; }
.tlt .sp-tbd { background: #F3A56B; color: #111; padding: .05rem .35rem; border-radius: .25rem; font-weight: 600; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.tlt .sp-resume { margin-top: 2.5rem; padding: 1.5rem; border-radius: 1.25rem; background: #111; color: #F7F7F5; }
@media (min-width: 640px) { .tlt .sp-resume { padding: 2rem; } }
.tlt .sp-resume ul { list-style: none; margin: 0; padding: 0; display: grid; column-gap: 2.5rem; }
@media (min-width: 1024px) { .tlt .sp-resume ul { grid-template-columns: 1fr 1fr; } }
.tlt .sp-resume li { padding: .85rem 0; border-bottom: 1px solid rgba(247,247,245,.18); }
.tlt .sp-resume strong { display: block; font-size: 1rem; font-weight: 700; color: #F7F7F5; }
.tlt .sp-resume span { display: block; margin-top: .15rem; font-size: .9375rem; color: #D6D6D2; }
/* Background (credentials) card under the headshot */
.tlt .sp-founder-bio { margin-top: 2.5rem; border-top: 1px solid rgba(17,17,17,.15); padding-top: .5rem; }
.tlt .sp-cred { padding: 24px; border-radius: 8px; border-top: 1px solid #54EDE2; background: #111; color: #F7F7F5; }
.tlt .sp-cred-label { margin: 0; font-size: .875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #D6D6D2; }
.tlt .sp-cred-label-2 { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); }
.tlt .sp-cred-list { margin: 1rem 0 0; }
.tlt .sp-cred-item + .sp-cred-item { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); }
.tlt .sp-cred dt { font-size: 1rem; font-weight: 600; line-height: 1.35; color: #F7F7F5; }
.tlt .sp-cred dd { margin: .15rem 0 0; font-size: .9375rem; font-weight: 400; line-height: 1.5; color: #D6D6D2; }
/* What we take care of (charcoal band) */
.tlt .sp-band-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; }
/* Where we are */
.tlt .sp-where { padding: 2.5rem 0; border-top: 1px solid #D6D6D2; border-bottom: 1px solid #D6D6D2; }
.tlt .sp-where .sp-h2 { font-size: 1.5rem; }
.tlt .sp-where address { margin-top: .75rem; font-style: normal; font-size: 1.0625rem; line-height: 1.65; color: #111; }
.tlt .sp-where p { margin-top: .5rem; font-size: 1.0625rem; line-height: 1.65; color: #2B2B2B; }
/* CTA band (same pattern as the homepage "get started" band) */
.tlt .sp-cta { padding: 4rem 0; }
.tlt .sp-cta-card { display: grid; gap: 1.75rem; align-items: center; padding: 2.5rem 1.5rem; border-radius: 2rem; background: #E9E9E6; }
@media (min-width: 640px) { .tlt .sp-cta-card { padding: 2.75rem 2.5rem; } }
@media (min-width: 1024px) { .tlt .sp-cta-card { grid-template-columns: 1.4fr 1fr; } }
.tlt .sp-cta-card .sp-lead { margin-top: .75rem; }
.tlt .sp-cta-card .sp-small { margin-top: 1rem; }
/* Articles: filter, cards, empty state */
.tlt .sp-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.tlt .sp-filter[hidden], .tlt .sp-cards[hidden], .tlt .sp-gallery[hidden], .tlt .sp-empty[hidden] { display: none; }
.tlt .sp-chip { min-height: 2.75rem; padding: .5rem 1.1rem; border-radius: 9999px; border: 1.5px solid #111; background: transparent; color: #111;
  font: 600 .9375rem/1.2 Outfit, 'Avenir Next', 'Segoe UI', sans-serif; cursor: pointer; }
.tlt .sp-chip[aria-pressed="true"] { background: #111; color: #F7F7F5; }
.tlt .sp-cards, .tlt .sp-gallery { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .tlt .sp-cards, .tlt .sp-gallery { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .tlt .sp-cards, .tlt .sp-gallery { grid-template-columns: 1fr 1fr 1fr; } }
.tlt .sp-card { position: relative; display: flex; flex-direction: column; height: 100%; border-radius: 1.25rem; background: #fff; overflow: hidden;
  box-shadow: 0 16px 40px -30px rgba(17,17,17,.45); }
.tlt .sp-card:focus-within { outline: 2px solid #111; outline-offset: 2px; }
.tlt .sp-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.tlt .sp-card-body { display: flex; flex: 1; flex-direction: column; gap: .6rem; padding: 1.25rem 1.25rem 1.5rem; }
.tlt .sp-tag { align-self: flex-start; padding: .2rem .6rem; border-radius: .35rem; background: #E9E9E6; color: #111; font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.tlt .sp-card h2 { margin: 0; font-size: 1.25rem; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.tlt .sp-card h2 a { color: #111; text-decoration: none; }
.tlt .sp-card h2 a::after { content: ""; position: absolute; inset: 0; }
.tlt .sp-card h2 a:focus-visible { outline: none; }
.tlt .sp-card h2 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.tlt .sp-excerpt { margin: 0; font-size: 1rem; line-height: 1.6; color: #2B2B2B; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tlt .sp-meta { margin-top: auto; font-size: .9375rem; color: #333; }
.tlt .sp-empty { position: relative; margin-top: 2.5rem; padding: 2.5rem 1.5rem; border-radius: 1.5rem; background: #E9E9E6; text-align: center; }
.tlt .sp-empty p { margin: 0 auto; max-width: 48ch; font-size: 1.125rem; line-height: 1.65; color: #111; }
.tlt .sp-empty-mark { position: absolute; right: 1rem; top: 1rem; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: .6rem; background: #111; color: #54EDE2; }
.tlt .sp-empty-mark svg { width: 1.25rem; height: 1.25rem; }
.tlt .sp-under { margin-top: 2rem; }
/* Gallery items + dialog */
.tlt .sp-fig { margin: 0; }
.tlt .sp-fig-btn { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 1.25rem; background: none; cursor: zoom-in; color: #111; }
.tlt .sp-fig-btn img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 1.25rem; }
.tlt .sp-fig-btn .sp-corner { opacity: 0; color: #54EDE2; transition: opacity .2s ease; }
.tlt .sp-fig-btn .sp-corner-tl { left: -6px; top: -6px; }
.tlt .sp-fig-btn .sp-corner-br { right: -6px; bottom: -6px; }
.tlt .sp-fig-btn:hover .sp-corner, .tlt .sp-fig-btn:focus-visible .sp-corner { opacity: 1; }
.tlt .sp-fig figcaption { margin-top: .75rem; font-size: 1rem; line-height: 1.5; color: #2B2B2B; }
.sp-dialog { width: min(92vw, 64rem); max-height: 92vh; padding: 0; border: 0; border-radius: 1.25rem; background: #111; color: #F7F7F5; font-family: Outfit, 'Avenir Next', 'Segoe UI', sans-serif; }
.sp-dialog::backdrop { background: rgba(17,17,17,.8); }
.sp-dialog-in { display: grid; gap: 1rem; padding: 1rem; }
.sp-dialog img { display: block; width: 100%; max-height: 70vh; object-fit: contain; border-radius: .75rem; background: #000; }
.sp-dialog figcaption, .sp-dialog p { margin: 0; font-size: 1rem; line-height: 1.5; color: #F7F7F5; }
.sp-dialog-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.sp-dialog button { min-height: 2.75rem; min-width: 2.75rem; padding: .5rem 1rem; border-radius: 9999px; border: 1.5px solid #F7F7F5; background: transparent; color: #F7F7F5;
  font: 600 1rem/1 Outfit, 'Avenir Next', 'Segoe UI', sans-serif; cursor: pointer; }
.sp-dialog button:hover { background: rgba(247,247,245,.12); }
.sp-dialog button:focus-visible { outline: 2px solid #54EDE2; outline-offset: 2px; }
/* Single article template */
.tlt .sp-article { max-width: 68ch; margin: 0 auto; padding: 3rem 1.25rem 1rem; }
.tlt .sp-sample { display: inline-block; padding: .35rem .75rem; border-radius: .4rem; background: #F3A56B; color: #111; font-size: .9375rem; font-weight: 700; }
.tlt .sp-article h1 { margin: 1.25rem 0 0; font-size: clamp(2rem, 5vw, 2.75rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.12; color: #111; }
.tlt .sp-article .sp-meta { margin-top: .75rem; }
.tlt .sp-prose { margin-top: 2rem; font-size: 1.125rem; line-height: 1.7; color: #111; }
.tlt .sp-prose p { margin: 0 0 1.25em; }
.tlt .sp-prose h2 { margin: 2em 0 .6em; font-size: 1.6rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.25; }
.tlt .sp-prose ul { margin: 0 0 1.25em; padding-left: 1.25em; }
.tlt .sp-prose li { margin: .35em 0; }
.tlt .sp-tip { margin: 2rem 0; padding: 1.25rem 1.5rem; border-radius: 1rem; background: #E9E9E6; border-left: 4px solid #111; }
.tlt .sp-tip p { margin: 0; }
.tlt .sp-tip strong { display: block; margin-bottom: .35rem; }
@media (forced-colors: active) {
  .tlt .sp-btn, .tlt .sp-chip, .tlt .sp-empty, .tlt .sp-card, .tlt .sp-cta-card, .tlt .sp-principle, .tlt .sp-tip, .tlt .sp-resume, .tlt .sp-cred { border: 2px solid CanvasText; }
  .tlt .sp-chip[aria-pressed="true"] { forced-color-adjust: none; background: Highlight; color: HighlightText; }
  .tlt .sp-tbd { border: 1px solid CanvasText; }
}

/* ===== 2026-10-26: Ongoing Website Care, "What we handle" cards (s_care_cards in gen_service.py, UI card spec).
   Three equal cards: 1 column below 1024px, 3 columns at 1024px+ (never 2 + 1), equal heights, same structure,
   no featured card, same corner brackets and aqua top hairline on all three. */
.tlt .svc-care-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-left: 0; padding: 0; list-style: none; }
@media (min-width: 1024px) { .tlt .svc-care-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } }
.tlt .svc-care-cards > li { display: flex; min-width: 0; }
.tlt .svc-care-card { position: relative; display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 2.25rem 1.75rem 2rem; border-radius: 1.5rem;
  background: #F7F7F5; box-shadow: 0 0 0 1px #E2E2DE; }
.tlt .svc-care-card::before { content: ""; position: absolute; left: 1.75rem; right: 1.75rem; top: 0; height: 2px; background: #54EDE2; pointer-events: none; }
.tlt .svc-care-card .fc-corner { width: 1.25rem; }
.tlt .svc-care-card .fc-corner-tl { left: .6rem; top: .6rem; }
.tlt .svc-care-card .fc-corner-br { right: .6rem; bottom: .6rem; }
.tlt .svc-care-title { margin: 1.1rem 0 0; font-size: 1.25rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.3; color: #111; }
.tlt .svc-care-list { display: grid; gap: .7rem; margin: 1rem 0 0; padding: 0; list-style: none; font-size: 1rem; line-height: 1.55; color: #111; }
.tlt .svc-care-list li { display: flex; align-items: flex-start; gap: .65rem; min-width: 0; overflow-wrap: anywhere; }
@media (forced-colors: active) { .tlt .svc-care-card { border: 1px solid CanvasText; } .tlt .svc-care-card::before { background: CanvasText; } }

/* ===== 2026-10-27 10:24 PM (Vadim: "Yes, have Frontend build the Checkup hero as UI specced"): Full Website Checkup hero, PREVIEW ONLY.
   Markup: gen_service.py checkup_hero() (two layouts of one drawing, callout cards in HTML so labels stay 15px at every size);
   JS: service.js section 10 (Pause/Play, pauses offscreen). CSS only motion (transform, opacity, stroke-dashoffset) on a 13s
   cycle (10s loop + 3s hold). Without JS or with prefers-reduced-motion everything shows in its final state: all callouts,
   leaders drawn, no scan line. Prefix .wc-. Aqua is never used for text. */
.tlt .wc-hero { position: relative; }
.tlt .wc-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.tlt .wc-fig { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "t1 t2" "art art" "b1 b2";
  column-gap: .5rem; padding: .75rem .5rem; border-radius: 1.5rem; background-color: #F7F7F5; box-shadow: 0 0 0 1px rgba(17,17,17,.1);
  background-image: linear-gradient(rgba(17,17,17,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(17,17,17,.06) 1px, transparent 1px);
  background-size: 24px 24px; background-position: -1px -1px; }
.tlt .wc-art { grid-area: art; position: relative; }
.tlt .wc-svg { display: block; width: 100%; height: auto; overflow: visible; }
.tlt .wc-svg-tall { display: none; }
.tlt .wc-lead { stroke-dasharray: 1; stroke-dashoffset: 0; }
.tlt .wc-lead-narrow { display: none; }
.tlt .wc-scan { opacity: 0; }
.tlt .wc-card { position: relative; z-index: 1; display: flex; align-items: center; gap: .625rem; min-width: 0; padding: 10px 14px;
  border: 1px solid rgba(17,17,17,.15); border-radius: 10px; background: #fff; box-shadow: 0 6px 16px rgba(17,17,17,.08);
  font-family: Outfit, sans-serif; font-size: 15px; font-weight: 600; line-height: 1.3; color: #111; overflow-wrap: anywhere; }
.tlt .wc-ic { width: 24px; height: 24px; flex: none; }
/* Below 1024px: 4:3, cards above, at the sides (over the page edge) and below */
.tlt .wc-c-seo { grid-area: t1; justify-self: stretch; align-self: end; }
.tlt .wc-c-speed { grid-area: t2; justify-self: stretch; align-self: end; }
.tlt .wc-c-mobile { grid-area: b1; justify-self: stretch; align-self: start; }
.tlt .wc-c-security { grid-area: b2; justify-self: stretch; align-self: start; }
.tlt .wc-c-links, .tlt .wc-c-cta { grid-area: art; position: absolute; width: 34%; transform: translateY(-50%); }
.tlt .wc-c-links { left: 0; top: 43.1%; }
.tlt .wc-c-cta { right: 0; top: 59.1%; }
@media (max-width: 479.98px) {
  .tlt .wc-c-seo, .tlt .wc-c-security { display: none; }
  .tlt .wc-c-links, .tlt .wc-c-cta { position: relative; width: auto; top: auto; left: auto; right: auto; transform: none; justify-self: stretch; }
  .tlt .wc-c-links { grid-area: t1; align-self: end; }
  .tlt .wc-c-cta { grid-area: b2; align-self: start; }
  .tlt .wc-lead-side { display: none; }
  .tlt .wc-lead-narrow { display: inline; }
  .tlt .wc-lead.wc-i1, .tlt .wc-lead.wc-i6, .tlt .wc-pin.wc-i1, .tlt .wc-pin.wc-i6 { display: none; }
  /* keep pins about 8px and leaders about 1px on small screens (the 4:3 drawing is scaled down) */
  .tlt .wc-svg-wide .wc-pin circle:first-child { r: 7.5px; } .tlt .wc-svg-wide .wc-pin circle:last-child { r: 3.3px; }
  .tlt .wc-svg-wide .wc-lead { stroke-width: 2px; }
}
/* (cards in the rows above and below fill their column so the leader always meets them) */
/* 1024px+: 3:4, three callouts each side, positioned at their pins (left 1.5%-49.5%, right 50.5%-98.5%) */
@media (min-width: 1024px) {
  .tlt .wc-fig { display: block; padding: 0; }
  .tlt .wc-svg-tall { display: block; }
  .tlt .wc-svg-wide { display: none; }
  .tlt .wc-card, .tlt .wc-c-links, .tlt .wc-c-cta { position: absolute; width: 48%; transform: translateY(-50%); }
  .tlt .wc-c-seo, .tlt .wc-c-links, .tlt .wc-c-mobile { left: 1.5%; right: auto; }
  .tlt .wc-c-speed, .tlt .wc-c-cta, .tlt .wc-c-security { right: 1.5%; left: auto; }
  .tlt .wc-c-seo { top: 16%; } .tlt .wc-c-speed { top: 30%; } .tlt .wc-c-links { top: 44%; }
  .tlt .wc-c-cta { top: 58%; } .tlt .wc-c-mobile { top: 72%; } .tlt .wc-c-security { top: 86%; }
}
/* Pause / Play: bottom right, 44px, like the free check's Pause button */
.tlt .wc-ctrl { display: flex; justify-content: flex-end; margin-top: .75rem; }
.tlt .wc-play { align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 9999px; cursor: pointer;
  background: #fff; color: #111; box-shadow: 0 0 0 1px #B7B7B3; }
.tlt .wc-play:hover { box-shadow: 0 0 0 1px #111; }
.tlt .wc-play:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
.tlt .wc-play svg { width: 16px; height: 16px; }
.tlt .wc-play .wc-ic-play, .tlt .wc-hero.is-paused .wc-play .wc-ic-pause { display: none; }
.tlt .wc-hero.is-paused .wc-play .wc-ic-play { display: block; }
@media (prefers-reduced-motion: reduce) { .tlt .fc-anim .wc-hero .wc-play { display: none !important; } }
@media (prefers-reduced-motion: no-preference) {
  .tlt .fc-anim .wc-frame { animation: wc-frame-in .6s ease-out both; }
  .tlt .fc-anim .wc-pin-in { transform-origin: 0 0; }
  .tlt .fc-anim .wc-breathe { animation: wc-breathe 3s ease-in-out infinite; }
  .tlt .fc-anim .wc-scan-tall { animation: wc-scan-tall 13s linear infinite; }
  .tlt .fc-anim .wc-scan-wide { animation: wc-scan-wide 13s linear infinite; }
  .tlt .fc-anim .wc-pin.wc-i1 .wc-pin-in { animation: wc-pulse-1 13s ease-in-out infinite; }
  .tlt .fc-anim .wc-lead.wc-i1 { animation: wc-lead-1 13s linear infinite; }
  .tlt .fc-anim .wc-card.wc-i1 { animation: wc-card-1 13s linear infinite; }
  .tlt .fc-anim .wc-pin.wc-i1 .wc-breathe { animation-delay: -0.0s; }
  .tlt .fc-anim .wc-pin.wc-i2 .wc-pin-in { animation: wc-pulse-2 13s ease-in-out infinite; }
  .tlt .fc-anim .wc-lead.wc-i2 { animation: wc-lead-2 13s linear infinite; }
  .tlt .fc-anim .wc-card.wc-i2 { animation: wc-card-2 13s linear infinite; }
  .tlt .fc-anim .wc-pin.wc-i2 .wc-breathe { animation-delay: -0.5s; }
  .tlt .fc-anim .wc-pin.wc-i3 .wc-pin-in { animation: wc-pulse-3 13s ease-in-out infinite; }
  .tlt .fc-anim .wc-lead.wc-i3 { animation: wc-lead-3 13s linear infinite; }
  .tlt .fc-anim .wc-card.wc-i3 { animation: wc-card-3 13s linear infinite; }
  .tlt .fc-anim .wc-pin.wc-i3 .wc-breathe { animation-delay: -1.0s; }
  .tlt .fc-anim .wc-pin.wc-i4 .wc-pin-in { animation: wc-pulse-4 13s ease-in-out infinite; }
  .tlt .fc-anim .wc-lead.wc-i4 { animation: wc-lead-4 13s linear infinite; }
  .tlt .fc-anim .wc-card.wc-i4 { animation: wc-card-4 13s linear infinite; }
  .tlt .fc-anim .wc-pin.wc-i4 .wc-breathe { animation-delay: -1.5s; }
  .tlt .fc-anim .wc-pin.wc-i5 .wc-pin-in { animation: wc-pulse-5 13s ease-in-out infinite; }
  .tlt .fc-anim .wc-lead.wc-i5 { animation: wc-lead-5 13s linear infinite; }
  .tlt .fc-anim .wc-card.wc-i5 { animation: wc-card-5 13s linear infinite; }
  .tlt .fc-anim .wc-pin.wc-i5 .wc-breathe { animation-delay: -2.0s; }
  .tlt .fc-anim .wc-pin.wc-i6 .wc-pin-in { animation: wc-pulse-6 13s ease-in-out infinite; }
  .tlt .fc-anim .wc-lead.wc-i6 { animation: wc-lead-6 13s linear infinite; }
  .tlt .fc-anim .wc-card.wc-i6 { animation: wc-card-6 13s linear infinite; }
  .tlt .fc-anim .wc-pin.wc-i6 .wc-breathe { animation-delay: -2.5s; }
  .tlt .fc-anim .wc-hero.is-paused *, .tlt .fc-anim .wc-hero.is-off * { animation-play-state: paused !important; }
}
@keyframes wc-frame-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes wc-breathe { 0%, 100% { opacity: .6; } 50% { opacity: 1; } }
@keyframes wc-pulse-1 { 0%, 6.92% { transform: scale(1); } 8.46% { transform: scale(1.4); } 10.00%, 100% { transform: scale(1); } }
@keyframes wc-lead-1 { 0%, 7.69% { stroke-dashoffset: 1; opacity: 1; } 10.00%, 96.92% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes wc-card-1 { 0%, 9.62% { opacity: 0; translate: 0 6px; animation-timing-function: ease-out; } 11.54%, 96.92% { opacity: 1; translate: 0 0; } 100% { opacity: 0; translate: 0 0; } }
@keyframes wc-pulse-2 { 0%, 12.31% { transform: scale(1); } 13.85% { transform: scale(1.4); } 15.38%, 100% { transform: scale(1); } }
@keyframes wc-lead-2 { 0%, 13.08% { stroke-dashoffset: 1; opacity: 1; } 15.38%, 96.92% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes wc-card-2 { 0%, 15.00% { opacity: 0; translate: 0 6px; animation-timing-function: ease-out; } 16.92%, 96.92% { opacity: 1; translate: 0 0; } 100% { opacity: 0; translate: 0 0; } }
@keyframes wc-pulse-3 { 0%, 17.69% { transform: scale(1); } 19.23% { transform: scale(1.4); } 20.77%, 100% { transform: scale(1); } }
@keyframes wc-lead-3 { 0%, 18.46% { stroke-dashoffset: 1; opacity: 1; } 20.77%, 96.92% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes wc-card-3 { 0%, 20.38% { opacity: 0; translate: 0 6px; animation-timing-function: ease-out; } 22.31%, 96.92% { opacity: 1; translate: 0 0; } 100% { opacity: 0; translate: 0 0; } }
@keyframes wc-pulse-4 { 0%, 23.08% { transform: scale(1); } 24.62% { transform: scale(1.4); } 26.15%, 100% { transform: scale(1); } }
@keyframes wc-lead-4 { 0%, 23.85% { stroke-dashoffset: 1; opacity: 1; } 26.15%, 96.92% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes wc-card-4 { 0%, 25.77% { opacity: 0; translate: 0 6px; animation-timing-function: ease-out; } 27.69%, 96.92% { opacity: 1; translate: 0 0; } 100% { opacity: 0; translate: 0 0; } }
@keyframes wc-pulse-5 { 0%, 28.46% { transform: scale(1); } 30.00% { transform: scale(1.4); } 31.54%, 100% { transform: scale(1); } }
@keyframes wc-lead-5 { 0%, 29.23% { stroke-dashoffset: 1; opacity: 1; } 31.54%, 96.92% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes wc-card-5 { 0%, 31.15% { opacity: 0; translate: 0 6px; animation-timing-function: ease-out; } 33.08%, 96.92% { opacity: 1; translate: 0 0; } 100% { opacity: 0; translate: 0 0; } }
@keyframes wc-pulse-6 { 0%, 33.85% { transform: scale(1); } 35.38% { transform: scale(1.4); } 36.92%, 100% { transform: scale(1); } }
@keyframes wc-lead-6 { 0%, 34.62% { stroke-dashoffset: 1; opacity: 1; } 36.92%, 96.92% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes wc-card-6 { 0%, 36.54% { opacity: 0; translate: 0 6px; animation-timing-function: ease-out; } 38.46%, 96.92% { opacity: 1; translate: 0 0; } 100% { opacity: 0; translate: 0 0; } }
@keyframes wc-scan-tall { 0%, 4.62% { opacity: 0; transform: translateY(0); } 5.38% { opacity: 1; } 35.38% { opacity: 1; transform: translateY(640px); } 38.46%, 100% { opacity: 0; transform: translateY(640px); } }
@keyframes wc-scan-wide { 0%, 4.62% { opacity: 0; transform: translateY(0); } 5.38% { opacity: 1; } 35.38% { opacity: 1; transform: translateY(410px); } 38.46%, 100% { opacity: 0; transform: translateY(410px); } }
@media (forced-colors: active) { .tlt .wc-card { border-color: CanvasText; } }

/* 2026-10-28 (Vadim 10:28 AM): before/after slider captions (gen_service.ba_caption). Full captions at every width; below
   640px each comma phrase is its own line, left aligned under Before and right aligned under After. */
.tlt .fc-ba-cap { min-width: 0; line-height: 1.45; }
/* 2026-10-28 QA fix: phrases never split mid-phrase; Before keeps its widest phrase, After wraps between words if it must. */
@media (max-width: 639.98px) { .tlt .fc-ba-ph { display: block; } .tlt .fc-ba-caps > .fc-ba-cap:first-child { flex: none; } .tlt .fc-ba-caps > .fc-ba-cap:first-child .fc-ba-ph { white-space: nowrap; } }

/* 2026-10-28 (Vadim picked Option B, docs/blueprints/website-care-week/): Ongoing Website Care "This week" (gen_service.s_care_week).
   Mist grid on white, paper bar panel, Mon to Fri calendar (5 columns at 1024px+, 2 from 640px, 1 below). Brand colors are
   fills only; text is charcoal (cards, chips), paper or #D6D6D2 (Total block). 16px body text at every width. */
.tlt .cw { background-image: linear-gradient(#E9E9E6 1px, transparent 1px), linear-gradient(90deg, #E9E9E6 1px, transparent 1px); background-size: 32px 32px; }
.tlt .cw-bar { margin-top: 2rem; background: #F7F7F5; border: 1.5px solid #111; border-radius: 12px; padding: 1.25rem 1.25rem 1rem; }
.tlt .cw-barrow { display: flex; align-items: center; gap: 1.25rem; }
.tlt .cw-trackwrap { flex: 1; min-width: 0; }
.tlt .cw-track { display: flex; height: 40px; border: 1.5px solid #111; border-radius: 4px; overflow: hidden; }
.tlt .cw-track span { height: 100%; border-right: 1.5px solid #111; }
.tlt .cw-track span:last-child { border-right: 0; }
.tlt .cw-ticks { position: relative; height: 12px; }
.tlt .cw-ticks i { position: absolute; top: 0; width: 2px; height: 10px; margin-left: -1px; background: #5B6B7A; }
.tlt .cw-ticks i:first-child { margin-left: 0; }
.tlt .cw-ticks i:last-child { margin-left: -2px; }
.tlt .cw-tot { display: flex; align-items: baseline; gap: .625rem; margin: 0; white-space: nowrap; background: #111; color: #F7F7F5; padding: .5rem .875rem; border-radius: 8px; }
.tlt .cw-tot dt { font-weight: 600; font-size: 1rem; color: #D6D6D2; }
.tlt .cw-tot dd { margin: 0; font-weight: 800; font-size: 1.75rem; line-height: 1.1; letter-spacing: -.02em; }
.tlt .cw-cal { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: 3rem; }
.tlt .cw-col { display: flex; flex-direction: column; gap: .75rem; min-width: 0; }
.tlt .cw-day { margin: 0; padding-bottom: .5rem; border-bottom: 2px solid #111; font-size: 1.125rem; font-weight: 800; letter-spacing: -.01em; color: #111; }
.tlt .cw-cards { display: flex; flex-direction: column; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.tlt .cw-card { display: flex; flex-direction: column; gap: .625rem; min-width: 0; padding: 1rem; background: #fff; border: 1px solid rgba(17,17,17,.14); border-radius: 10px; color: #111; }
.tlt .cw-mday { display: none; margin: 0; font-size: 1.125rem; font-weight: 800; color: #111; }
.tlt .cw-key { display: block; height: 8px; border-radius: 2px; border: 1.5px solid #111; }
/* 2026-10-28 QA fix: title and time chip never touch; the chip wraps onto its own line when the title needs the room. */
.tlt .cw-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; }
.tlt .cw-tag { display: flex; align-items: center; gap: .5rem; flex: 0 1 auto; min-width: min-content; margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.25; color: #111; }
.tlt .cw-tag svg { flex: none; width: 14px; height: 14px; }
.tlt .cw-time { flex: none; margin: 0; padding: 2px 8px; font-size: 1rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; color: #111; background: #F7F7F5; border: 1.5px solid #111; border-radius: 6px; }
.tlt .cw-text { margin: 0; font-size: 1rem; line-height: 1.55; color: #111; overflow-wrap: anywhere; }
.tlt .cw-note { margin: 2rem 0 0; max-width: 48rem; font-size: 1rem; line-height: 1.6; color: #111; }
@media (max-width: 1023.98px) { .tlt .cw-cal { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639.98px) {
  .tlt .cw-cal { grid-template-columns: minmax(0, 1fr); margin-top: 2rem; }
  .tlt .cw-barrow { flex-direction: column; align-items: stretch; gap: .875rem; }
  .tlt .cw-tot { justify-content: space-between; }
  .tlt .cw-track { height: 32px; }
  .tlt .cw-day { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .tlt .cw-mday { display: block; }
}
@media (forced-colors: active) { .tlt .cw-track span, .tlt .cw-key { forced-color-adjust: none; } }
