@charset "UTF-8";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-slate-100: oklch(96.8% .007 247.896);--color-slate-200: oklch(92.9% .013 255.508);--color-slate-500: oklch(55.4% .046 257.417);--color-slate-600: oklch(44.6% .043 257.281);--color-slate-700: oklch(37.2% .044 257.287);--color-slate-800: oklch(27.9% .041 260.031);--color-slate-900: oklch(20.8% .042 265.755);--color-gray-400: oklch(70.7% .022 261.325);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-2xl: 42rem;--container-3xl: 48rem;--container-5xl: 64rem;--container-6xl: 72rem;--container-7xl: 80rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-3xl: 1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl: 2.25rem;--text-4xl--line-height: calc(2.5 / 2.25);--text-5xl: 3rem;--text-5xl--line-height: 1;--text-6xl: 3.75rem;--text-6xl--line-height: 1;--font-weight-light: 300;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.025em;--leading-tight: 1.25;--leading-relaxed: 1.625;--radius-md: .375rem;--radius-xl: .75rem;--radius-3xl: 1.5rem;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--blur-md: 12px;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.z-50{z-index:50}.mx-auto{margin-inline:auto}.my-24{margin-block:calc(var(--spacing) * 24)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-22{height:calc(var(--spacing) * 22)}.h-60{height:calc(var(--spacing) * 60)}.h-full{height:100%}.max-h-16{max-height:calc(var(--spacing) * 16)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[70vh\]{min-height:70vh}.min-h-\[100svh\]{min-height:100svh}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-44{max-width:calc(var(--spacing) * 44)}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.origin-top{transform-origin:top}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\[grid-template-rows\:0fr\]{grid-template-rows:0fr}.\[grid-template-rows\:1fr\]{grid-template-rows:1fr}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-200>:not(:last-child)){border-color:var(--color-slate-200)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-slate-200{border-color:var(--color-slate-200)}.bg-black\/35{background-color:color-mix(in srgb,#000 35%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/35{background-color:color-mix(in oklab,var(--color-black) 35%,transparent)}}.bg-black\/45{background-color:color-mix(in srgb,#000 45%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/70{background-color:color-mix(in srgb,#fff 70%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\/90{background-color:color-mix(in srgb,#fff 90%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.bg-gradient-to-t{--tw-gradient-position: to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/80{--tw-gradient-from: color-mix(in srgb, #000 80%, transparent);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.from-black\/80{--tw-gradient-from: color-mix(in oklab, var(--color-black) 80%, transparent)}}.to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.ps-6{padding-inline-start:calc(var(--spacing) * 6)}.ps-8{padding-inline-start:calc(var(--spacing) * 8)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-12{padding-top:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading, var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading: var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight: var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking: .2em;letter-spacing:.2em}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-black{color:var(--color-black)}.text-inherit{color:inherit}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-white\/80{color:color-mix(in srgb,#fff 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.uppercase{text-transform:uppercase}.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,)}.underline{text-decoration-line:underline}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-0{opacity:0%}.opacity-80{opacity:80%}.opacity-90{opacity:90%}.opacity-100{opacity:100%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\/10{--tw-ring-color: color-mix(in srgb, #000 10%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-black\/10{--tw-ring-color: color-mix(in oklab, var(--color-black) 10%, transparent)}}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur: blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-\[height\,opacity\]{transition-property:height,opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-300{--tw-duration: .3s;transition-duration:.3s}.duration-500{--tw-duration: .5s;transition-duration:.5s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover: hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (hover: hover){.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}}@media (hover: hover){.hover\:bg-white\/30:hover{background-color:color-mix(in srgb,#fff 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}}@media (hover: hover){.hover\:underline:hover{text-decoration-line:underline}}@media (hover: hover){.hover\:opacity-60:hover{opacity:60%}}@media (width >= 40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width >= 40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width >= 48rem){.md\:col-span-2{grid-column:span 2 / span 2}}@media (width >= 48rem){.md\:mt-3{margin-top:calc(var(--spacing) * 3)}}@media (width >= 48rem){.md\:mt-auto{margin-top:auto}}@media (width >= 48rem){.md\:block{display:block}}@media (width >= 48rem){.md\:flex{display:flex}}@media (width >= 48rem){.md\:hidden{display:none}}@media (width >= 48rem){.md\:w-1\/2{width:50%}}@media (width >= 48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width >= 48rem){.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width >= 48rem){.md\:flex-row{flex-direction:row}}@media (width >= 48rem){.md\:justify-between{justify-content:space-between}}@media (width >= 48rem){.md\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (width >= 48rem){.md\:px-10{padding-inline:calc(var(--spacing) * 10)}}@media (width >= 48rem){.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}}@media (width >= 48rem){.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading, var(--text-5xl--line-height))}}@media (width >= 48rem){.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading, var(--text-6xl--line-height))}}@media (width >= 48rem){.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}}@media (width >= 48rem){.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}}@media (width >= 64rem){.lg\:h-12{height:calc(var(--spacing) * 12)}}@media (width >= 64rem){.lg\:opacity-0{opacity:0%}}@media (width >= 64rem){@media (hover: hover){.lg\:group-hover\:h-22:is(:where(.group):hover *){height:calc(var(--spacing) * 22)}}}@media (width >= 64rem){@media (hover: hover){.lg\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:100%}}}}html{scroll-behavior:smooth}body{margin:0}[dir=rtl]{text-align:start}:root{--bg-0: #ffffff;--bg-1: #f8f5ff;--ink-0: #0b0b10;--ink-1: #4a455e;--primary-0: #6a5cf6;--primary-1: #a391ff;--glass: rgba(255,255,255,.24);--glass-border: rgba(255,255,255,.35);--glass-shadow: 0 10px 30px rgba(110,74,255,.15);--glass-hoover: rgba(184, 184, 184, .2)}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(900px 600px at 8% 12%,rgba(170,160,255,.35),transparent 60%),radial-gradient(900px 600px at 92% 18%,rgba(220,215,255,.38),transparent 60%),linear-gradient(180deg,#fff,#f8f5ff);filter:blur(18px) saturate(1.05)}.glass{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.reveal{opacity:0;transform:translateY(16px) scale(.98);transition:all .7s ease}.reveal.in-view{opacity:1;transform:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;border-radius:.25rem;color:#fff;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;font-size:1rem;line-height:1.75rem}.btn--primary{background:linear-gradient(135deg,var(--primary-0),var(--primary-1))}.btn--whatsap{background:linear-gradient(135deg,var(--primary-0),var(--primary-1));padding:.25rem .5rem}.btn--instagram{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--primary-0),var(--primary-1));border-radius:0;transition:none}.btn--instagram:hover{transform:none!important;filter:saturate(3)}.btn--soft{background:var(--glass);color:#000;padding:.6rem .9rem}.btn--soft.active{background:linear-gradient(135deg,var(--primary-0),var(--primary-1));color:#fff}.btn:hover{transform:translateY(-2px);filter:saturate(3)}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-ordinal{syntax: "*"; inherits: false;}@property --tw-slashed-zero{syntax: "*"; inherits: false;}@property --tw-numeric-figure{syntax: "*"; inherits: false;}@property --tw-numeric-spacing{syntax: "*"; inherits: false;}@property --tw-numeric-fraction{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}


/* ==========================================================================
   Added when the site was moved off Angular.
   Everything above this line is the original compiled Tailwind stylesheet.
   ========================================================================== */
tp-root, ts-equipment-page { display: block; }

/* pop-up windows: "Let's talk" form and the Calendly booking calendar */
dialog.ts-dialog {
  width: 520px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: #fff;
  color: #000;
  overflow: auto;
  box-shadow: 0 11px 15px -7px rgba(0,0,0,.2), 0 24px 38px 3px rgba(0,0,0,.14), 0 9px 46px 8px rgba(0,0,0,.12);
}
dialog.ts-dialog::backdrop { background: rgba(0, 0, 0, .32); }
dialog.ts-dialog[open] { animation: ts-dialog-in .15s ease-out; }
@keyframes ts-dialog-in { from { opacity: 0; transform: scale(.8); } to { opacity: 1; transform: none; } }
dialog.ts-dialog [hidden] { display: none; }

/* equipment filter */
[data-cat][hidden] { display: none; }

/* photos in the Spaces cards: 3:2, the same shape as the originals, so nothing is cropped */
.space-photo { aspect-ratio: 3 / 2; height: auto; }

/* ---------- SEO pass, October 2026: hero sub-line, "what you can shoot" grid, FAQ ---------- */
.ts-hero-sub { margin-top: .75rem; font-size: 1.05rem; line-height: 1.5; opacity: .92; }
.ts-usecases { display: grid; gap: 1.75rem 2.5rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); max-width: 64rem; margin: 2rem auto 0; }
.ts-usecases h3 { font-size: 1.125rem; font-weight: 600; }
.ts-usecases p { margin-top: .35rem; color: #475569; font-size: .95rem; line-height: 1.55; }
.ts-faq { max-width: 42rem; margin: 1.5rem auto 0; }
.ts-faq details { border-bottom: 1px solid #e2e8f0; }
.ts-faq summary { position: relative; cursor: pointer; list-style: none; padding: 1rem 0; padding-inline-end: 2rem; font-size: 1.125rem; font-weight: 500; }
.ts-faq summary::-webkit-details-marker { display: none; }
.ts-faq summary::after { content: "+"; position: absolute; inset-inline-end: 0; top: .8rem; font-size: 1.5rem; font-weight: 300; color: #64748b; }
.ts-faq details[open] summary::after { content: "\2013"; }
.ts-faq p { padding-bottom: 1.1rem; color: #475569; line-height: 1.6; }
.ts-faq a, .ts-eq-note a { text-decoration: underline; }
.ts-eq-note { margin-top: 2rem; color: #475569; }

/* ---------- equipment page: square product photos ---------- */
.eq-grid { display: grid; gap: 1.5rem 1.25rem; grid-template-columns: repeat(2, 1fr); margin-top: 1.5rem; }
@media (min-width: 640px) { .eq-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .eq-grid { grid-template-columns: repeat(4, 1fr); } }
.eq-card img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; }
.eq-card p { padding: .6rem .15rem 0; font-size: .95rem; line-height: 1.35; }

/* ---------- FAQ as its own dark band ---------- */
#faq { background: #0b0b10; color: #fff; padding-top: 4.5rem; padding-bottom: 5rem; }
#faq .ts-faq details { border-bottom-color: rgba(255, 255, 255, .16); }
#faq .ts-faq summary::after { color: #a391ff; }
#faq .ts-faq p { color: #c9c6d6; }
#faq .ts-faq summary:focus-visible { outline: 2px solid #a391ff; outline-offset: 4px; border-radius: 4px; }

/* ---------- floor plan (vector, drawn in the page) ---------- */
.ts-plan { max-width: 52rem; margin: 2.5rem auto 0; }
.ts-plan__svg { display: block; width: 100%; height: auto; direction: ltr; font-family: inherit; }
.ts-plan__legend { display: grid; gap: .6rem 2rem; grid-template-columns: 1fr; margin-top: 1.25rem; padding: 0; list-style: none; counter-reset: plan; color: #475569; font-size: .95rem; }
@media (min-width: 640px) { .ts-plan__legend { grid-template-columns: 1fr 1fr; } }
.ts-plan__legend li { counter-increment: plan; display: flex; align-items: center; gap: .65rem; }
.ts-plan__legend li::before { content: counter(plan); flex: none; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #0b0b10; color: #fff; font-size: .8rem; font-weight: 700; display: grid; place-items: center; }

/* ---------- dressing room block ---------- */
.ts-dressing { display: grid; gap: 1.5rem; grid-template-columns: 1fr; max-width: 64rem; margin: 2rem auto 0; }
@media (min-width: 768px) { .ts-dressing { grid-template-columns: 1fr 1fr; } }
.ts-dressing img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.ts-dressing__list { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem .6rem; max-width: 64rem; margin: 1.5rem auto 0; padding: 0; list-style: none; }
.ts-dressing__list li { padding: .45rem .95rem; border: 1px solid #e2e8f0; border-radius: 999px; background: #fff; color: #334155; font-size: .9rem; }

/* the Tailwind reset zeroes every margin, which also removes the browser's own centring of <dialog> */
dialog.ts-dialog { position: fixed; inset: 0; margin: auto; height: fit-content; }

/* ================= design polish, October 2026 ================= */

/* ---------- first screen: darken only the top (menu) and the bottom (text) ---------- */
.ts-hero-shade { background: linear-gradient(to bottom, rgba(0,0,0,.45) 0, rgba(0,0,0,.08) 22%, rgba(0,0,0,.04) 45%, rgba(0,0,0,.8) 100%); }
.ts-hero-title { font-size: clamp(2.25rem, 5.2vw, 4.5rem); font-weight: 600; line-height: 1.05; letter-spacing: -.02em; text-wrap: balance; }
#hero .max-w-3xl { max-width: 64rem; }
#hero .ts-hero-sub { font-size: clamp(1rem, 1.35vw, 1.2rem); margin-top: 1rem; }
#hero > div:last-child { padding-bottom: clamp(2.5rem, 8vh, 5.5rem); }

/* ---------- one-paragraph intro under a section heading ---------- */
.ts-section-sub { max-width: 46rem; margin: .75rem auto 0; color: #475569; font-size: 1.05rem; line-height: 1.6; text-align: center; }

/* ---------- studio spaces: caption always visible on the photo ---------- */
.ts-space-cap { position: absolute; inset-inline: 0; bottom: 0; padding: 3.5rem 1.1rem 1rem; background: linear-gradient(to top, rgba(0,0,0,.84), rgba(0,0,0,0)); color: #fff; }
.ts-space-cap__title { font-size: 1.15rem; font-weight: 600; }
.ts-space-cap__text { margin-top: .25rem; font-size: .9rem; line-height: 1.4; color: rgba(255,255,255,.86); }

/* ---------- lighting & equipment: text and photo side by side ---------- */
.ts-split { display: grid; gap: 2rem; align-items: center; }
.ts-split__media { display: block; order: -1; }
.ts-split__media img { display: block; width: 100%; height: auto; }
.ts-split__title { font-size: clamp(2rem, 4.4vw, 3.75rem); font-weight: 600; line-height: 1.05; }
.ts-split__lead { margin-top: 1rem; color: #475569; font-size: 1.05rem; line-height: 1.6; }
.ts-split__list { display: grid; gap: .55rem; margin: 1.25rem 0 1.75rem; padding: 0; list-style: none; }
.ts-split__list li { position: relative; padding-inline-start: 1.5rem; color: #1e293b; }
.ts-split__list li::before { content: ""; position: absolute; inset-inline-start: 0; top: .5em; width: .55rem; height: .55rem; border-radius: 50%; background: linear-gradient(135deg, var(--primary-0), var(--primary-1)); }
@media (min-width: 768px) {
  .ts-split { grid-template-columns: 5fr 6fr; gap: 3.5rem; }
  .ts-split__media { order: 0; }
}

/* ---------- booking button under the price list ---------- */
.ts-price-cta { display: flex; flex-direction: column; align-items: center; gap: .7rem; margin-top: 2rem; }
.ts-price-cta__ask { color: #475569; font-size: .95rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ts-price-cta__ask:hover { color: #0f172a; }

/* ---------- gallery: three columns on phones, photos open full screen ---------- */
#instagram picture { display: block; overflow: hidden; cursor: zoom-in; }
@media (max-width: 767px) {
  #instagram > .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; gap: .25rem; }
}
dialog.ts-lightbox { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(8,8,12,.95); }
dialog.ts-lightbox[open] { display: flex; align-items: center; justify-content: center; }
dialog.ts-lightbox::backdrop { background: rgba(8,8,12,.95); }
.ts-lightbox img { max-width: min(92vw, 60rem); max-height: 90dvh; object-fit: contain; }
.ts-lightbox button { position: absolute; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 999px; background: rgba(255,255,255,.14); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.ts-lightbox button:hover { background: rgba(255,255,255,.26); }
.ts-lightbox [data-close] { top: 1rem; right: 1rem; }
.ts-lightbox [data-prev] { left: 1rem; top: calc(50% - 1.5rem); }
.ts-lightbox [data-next] { right: 1rem; top: calc(50% - 1.5rem); }

/* ---------- phone header: keep the WhatsApp button on one line ---------- */
@media (max-width: 767px) { ts-header .btn--whatsap { white-space: nowrap; font-size: .875rem; } }

/* ================= items 7–11, October 2026 (each block can be removed on its own) ================= */

/* ---------- 7. price: four rate cards above the table ---------- */
.ts-tiers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; max-width: 56rem; margin: 1.75rem auto 2rem; padding: 0; list-style: none; }
.ts-tiers li { position: relative; display: flex; border: 1px solid #e2e8f0; background: #fff; text-align: center; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
/* each card is a real button: it opens the booking calendar */
.ts-tiers li > button { display: flex; flex: 1; flex-direction: column; align-items: center; width: 100%; padding: 1.4rem .75rem 1.1rem; color: inherit; font: inherit; cursor: pointer; }
.ts-tiers li:hover, .ts-tiers li:focus-within { transform: translateY(-3px); border-color: var(--primary-0); box-shadow: 0 10px 24px rgba(106, 92, 246, .18); }
.ts-tiers__go { margin-top: .9rem; padding: .4rem 1.1rem; border-radius: .25rem; background: linear-gradient(135deg, var(--primary-0), var(--primary-1)); color: #fff; font-size: .9rem; }
.ts-tiers li.is-best .ts-tiers__go { background: #fff; color: #4b3fd6; }
.ts-tiers li.is-best { border-color: transparent; background: linear-gradient(135deg, var(--primary-0), var(--primary-1)); color: #fff; }
.ts-tiers__badge { position: absolute; top: -.7rem; left: 50%; transform: translateX(-50%); pointer-events: none; padding: .15rem .7rem; border-radius: 999px; background: #0b0b10; color: #fff; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.ts-tiers__dur { font-size: .95rem; text-transform: uppercase; letter-spacing: .04em; }
.ts-tiers__rate { margin-top: .35rem; font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 600; line-height: 1; }
.ts-tiers__unit { margin-top: .3rem; font-size: .85rem; opacity: .75; }
.ts-tiers__ex { margin-top: .9rem; padding-top: .7rem; border-top: 1px solid rgba(100,116,139,.25); width: 100%; font-size: .85rem; opacity: .85; }
.ts-tiers li.is-best .ts-tiers__ex { border-top-color: rgba(255,255,255,.35); }
@media (min-width: 768px) { .ts-tiers { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } }

/* ---------- 9. one heading style and equal spacing between blocks ---------- */
#spaces-title, #dressing-title, #shoots-title, #price-title, #faq-title { font-size: clamp(1.9rem, 4.6vw, 3.75rem); font-weight: 600; line-height: 1.1; letter-spacing: -.01em; }
#dressing-title + p, #shoots-title + p { margin-top: .75rem; color: #475569; font-size: 1.05rem; line-height: 1.6; }
@media (min-width: 768px) {
  #spaces, #dressing, #shoots, #price, #faq { padding-top: 5rem; padding-bottom: 5rem; }
  #keyFeatures { padding-top: 4rem; }
}

/* ---------- 10. five advantages on phones: 3 + 2, centred ---------- */
@media (max-width: 767px) {
  #keyFeatures ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem 0; }
  #keyFeatures li { width: 33.333%; max-width: none; padding: 0 .25rem; }
  #keyFeatures li img { width: 3rem; height: 3rem; }
  #keyFeatures h3 { font-size: .8rem; }
}

/* ---------- 11. contacts: map on one half, details on the other ---------- */
.ts-map { display: block; width: 100%; height: 100%; min-height: 18rem; border: 0; }
.ts-contact { display: grid; gap: 2rem; }
.ts-contact .ts-map { order: 1; }
.ts-contact__body { display: flex; flex-direction: column; }
.ts-contact__title { font-size: clamp(2rem, 4.4vw, 3.75rem); font-weight: 600; line-height: 1.05; letter-spacing: -.01em; }
.ts-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 2rem; margin-top: 2rem; }
.ts-contact__grid dt { color: #64748b; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ts-contact__grid dd { margin-top: .4rem; color: #0f172a; line-height: 1.5; overflow-wrap: anywhere; }
.ts-contact__grid bdi { white-space: nowrap; }
.ts-contact__link { display: inline-block; margin-top: .7rem; border-bottom: 1px solid currentColor; font-size: .75rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.ts-contact__link:hover { opacity: .6; }
.ts-contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 1.75rem; margin-top: auto; padding-top: 2.25rem; }
.ts-contact__social { display: flex; gap: 1rem; }
@media (min-width: 768px) {
  .ts-contact { grid-template-columns: 1fr 1fr; gap: 3.5rem; }
  .ts-contact .ts-map { order: 0; min-height: 26rem; }
  #contact { padding-top: 5rem; padding-bottom: 5rem; }
}

/* ================= furniture and production, October 2026 ================= */

/* ---------- home: furniture block (same idea as lighting & equipment) ---------- */
#production-title { font-size: clamp(1.9rem, 4.6vw, 3.75rem); font-weight: 600; line-height: 1.1; letter-spacing: -.01em; }
@media (min-width: 768px) { #production, #furniture { padding-top: 5rem; padding-bottom: 5rem; } }

/* ---------- production page ---------- */
.ts-prod-h2 { margin-top: 3.5rem; font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 600; }
.ts-prod { display: grid; gap: 1.5rem; margin-top: 1.5rem; padding: 0; list-style: none; }
.ts-prod__card { display: flex; flex-direction: column; border: 1px solid #e2e8f0; background: #fff; }
/* placeholder until there is a photo: swap the div for a <picture> */
.ts-prod__ph { display: flex; align-items: flex-end; aspect-ratio: 16 / 9; padding: 1rem 1.25rem; background: linear-gradient(135deg, #0b0b10 0%, #2a2550 60%, var(--primary-0) 100%); color: rgba(255,255,255,.9); font-size: 3rem; font-weight: 600; line-height: 1; }
.ts-prod__card picture img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.ts-prod__body { padding: 1.25rem 1.25rem 1.5rem; }
.ts-prod__body h3 { font-size: 1.35rem; font-weight: 600; }
.ts-prod__body p { margin-top: .5rem; color: #475569; line-height: 1.55; }
.ts-prod__list { display: grid; gap: .45rem; margin-top: 1rem; padding: 0; list-style: none; }
.ts-prod__list li { position: relative; padding-inline-start: 1.4rem; color: #1e293b; font-size: .95rem; }
.ts-prod__list li::before { content: ""; position: absolute; inset-inline-start: 0; top: .5em; width: .5rem; height: .5rem; border-radius: 50%; background: linear-gradient(135deg, var(--primary-0), var(--primary-1)); }
.ts-steps { display: grid; gap: 1.5rem; margin-top: 1.5rem; padding: 0; list-style: none; counter-reset: step; }
.ts-steps li { padding-top: 1rem; border-top: 2px solid #0b0b10; counter-increment: step; }
.ts-steps li::before { content: "0" counter(step); display: block; color: var(--primary-0); font-size: .9rem; font-weight: 600; letter-spacing: .08em; }
.ts-steps h3 { margin-top: .35rem; font-size: 1.15rem; font-weight: 600; }
.ts-steps p { margin-top: .35rem; color: #475569; font-size: .95rem; line-height: 1.55; }
.ts-prod-cta { margin-top: 4rem; padding: 2.75rem 1.5rem; background: #0b0b10; color: #fff; text-align: center; }
.ts-prod-cta h2 { font-size: clamp(1.6rem, 3.4vw, 2.5rem); font-weight: 600; }
.ts-prod-cta p { max-width: 36rem; margin: .75rem auto 1.5rem; color: rgba(255,255,255,.8); }
.ts-prod-cta a { display: block; margin-top: 1.1rem; color: rgba(255,255,255,.7); font-size: .95rem; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) {
  .ts-prod { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .ts-steps { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- header menu: highlight on hover, six links on one line ---------- */
ts-header nav a { position: relative; transition: background-color .2s ease; }
ts-header nav a:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
ts-header nav a::after { content: ""; position: absolute; left: .75rem; right: .75rem; bottom: .3rem; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--primary-0), var(--primary-1)); transform: scaleX(0); transform-origin: center; transition: transform .25s ease; }
ts-header nav a:hover::after { transform: scaleX(1); }
ts-header .btn--whatsap { white-space: nowrap; }
ts-header header a[aria-label="Tundra Studio"] { flex: none; }
@media (min-width: 768px) and (max-width: 1099px) {
  ts-header nav.items-center { gap: 0; font-size: .76rem; }
  ts-header nav.items-center > a { padding-left: .28rem; padding-right: .28rem; }
  ts-header nav.items-center > a::after { left: .28rem; right: .28rem; }
  ts-header .btn--whatsap { font-size: .76rem; padding-left: .4rem; padding-right: .4rem; }
  ts-header header img[src*="tundra-logo"] { height: .85rem; }
}

/* ---------- furniture page: colour backdrops tab (text and photos, no cards) ---------- */
.ts-backdrops { margin-top: 1.5rem; }
.ts-backdrops h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 600; }
.ts-backdrops p { max-width: 46rem; margin-top: .9rem; color: #334155; font-size: 1.05rem; line-height: 1.6; }
.ts-backdrops__colours { display: flex; flex-wrap: wrap; gap: .5rem .6rem; margin: 1.25rem 0 .25rem; padding: 0; list-style: none; }
.ts-backdrops__colours li { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem .9rem .4rem .5rem; border: 1px solid #e2e8f0; border-radius: 999px; background: #fff; color: #334155; font-size: .9rem; }
.ts-backdrops__colours span { width: 1.1rem; height: 1.1rem; border-radius: 50%; }
/* the two set photos always sit side by side at exactly the same size */
.ts-backdrops__photos { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 2rem; }
.ts-backdrops__photos img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
@media (min-width: 768px) {
  .ts-backdrops__photos { gap: 1.25rem; }
}

/* ---------- production page: video with a cover, plays from Vimeo ---------- */
.ts-work { margin-top: 1.5rem; }
.ts-work figcaption { margin-top: .75rem; color: #475569; font-size: .95rem; }
.ts-video { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; overflow: hidden; background: #0b0b10; cursor: pointer; }
.ts-video picture, .ts-video img, .ts-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.ts-video img { object-fit: cover; transition: transform .5s ease, opacity .3s ease; }
.ts-video:hover img { transform: scale(1.02); opacity: .9; }
.ts-video__play { position: absolute; left: 50%; top: 50%; width: 5rem; height: 5rem; margin: -2.5rem 0 0 -2.5rem; border-radius: 50%; background: linear-gradient(135deg, var(--primary-0), var(--primary-1)); box-shadow: 0 10px 30px rgba(0,0,0,.35); transition: transform .25s ease; }
.ts-video__play::after { content: ""; position: absolute; left: 54%; top: 50%; transform: translate(-50%, -50%); border-style: solid; border-width: .85rem 0 .85rem 1.4rem; border-color: transparent transparent transparent #fff; }
.ts-video:hover .ts-video__play { transform: scale(1.08); }
.ts-video.is-playing { cursor: default; }
.ts-prod__card > .ts-video { flex: none; }
.ts-prod__body .ts-prod__credit { margin-top: 1.1rem; padding-top: .8rem; border-top: 1px solid #e2e8f0; color: #64748b; font-size: .85rem; }

/* ---------- production page: running line of client logos ---------- */
.ts-clients { margin-top: 3.5rem; }
.ts-clients__view { margin-top: 1.5rem; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ts-clients .ts-clients__title { margin-top: 0; }
.ts-clients__track { display: flex; width: max-content; animation: ts-clients-run 40s linear infinite; }
.ts-clients__track:hover { animation-play-state: paused; }
.ts-clients__group { display: flex; align-items: center; gap: 4.5rem; margin: 0; padding: 0 2.25rem; list-style: none; }
.ts-clients__group img { display: block; max-width: none; opacity: .75; }
@keyframes ts-clients-run { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ts-clients__track { animation: none; } }


/* ---------- equipment, furniture and production pages: page title on one line on laptops ---------- */
@media (min-width: 1100px) {
  ts-equipment-page header.max-w-3xl { max-width: none; }
  ts-equipment-page header.max-w-3xl h1 { white-space: nowrap; }
  ts-equipment-page header.max-w-3xl p { max-width: 48rem; }
}

/* ---------- home: production block over a silent video ---------- */
#production { position: relative; display: flex; align-items: center; min-height: 36rem; overflow: hidden; background: #0b0b10; color: #fff; }
#production > .ts-prod-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#production > .ts-prod-shade { position: absolute; inset: 0; background: rgba(8,8,12,.58); }
#production > .max-w-7xl { position: relative; width: 100%; }
#production .ts-section-sub { color: rgba(255,255,255,.88); }
#production .ts-dressing__list li { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.12); color: #fff; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
/* on computers the block keeps the 2.5:1 shape of the wide showreel, so the video is shown whole and no heads are cut off */
@media (min-width: 768px) { #production { min-height: clamp(36rem, 40vw, 60rem); } }
/* still picture (first frame of the showreel) shown until the video has loaded — and instead of it when it never loads */
#production { background: #0b0b10 url(images/production/reel-poster.webp) center / cover no-repeat; }
@media (min-width: 768px) { #production { background-image: url(images/production/reel-poster-wide.webp); } }
#production > .ts-prod-bg { opacity: 0; transition: opacity .6s ease; }
#production > .ts-prod-bg.is-ready { opacity: 1; }

/* ---------- phones: the header is not pinned, it stays at the top of the page and scrolls away with it ---------- */
@media (max-width: 767px) { ts-header header.fixed { position: absolute; } }

/* "Back to top" on the rules and privacy pages goes to the very top, not under the pinned header */
#top { scroll-margin-top: 12rem; }

/* ---------- booking form ---------- */
dialog.ts-book { width: 560px; }
.ts-book__form { display: grid; gap: .9rem; padding: 1.5rem; }
.ts-book__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ts-book__head h2 { font-size: 1.5rem; font-weight: 600; }
.ts-book__close { width: 2.25rem; height: 2.25rem; border-radius: 50%; font-size: 1.6rem; line-height: 1; color: #475569; cursor: pointer; }
.ts-book__close:hover { background: #f1f5f9; }
.ts-book__lead { margin-top: -.4rem; color: #475569; font-size: .95rem; }
.ts-book__row { display: grid; gap: .9rem; }
.ts-book__row--pair { grid-template-columns: 1fr 1fr; }
@media (min-width: 480px) { .ts-book__row { grid-template-columns: 1fr 1fr; } }
/* phones: keep the whole form, with the send button, on one screen */
@media (max-width: 479px) {
  .ts-book__form { gap: .65rem; padding: 1.1rem; }
  .ts-book__lead { display: none; }
  .ts-book__head h2 { font-size: 1.3rem; }
  .ts-book__form textarea { height: 2.75rem; }
  .ts-book__sum strong { font-size: 1.4rem; }
}
.ts-book__form label { display: grid; gap: .3rem; color: #475569; font-size: .8rem; font-weight: 600; letter-spacing: .03em; }
.ts-book__form input, .ts-book__form select, .ts-book__form textarea { width: 100%; min-height: 2.75rem; padding: .6rem .75rem; border: 1px solid #cbd5e1; border-radius: .375rem; background: #fff; color: #0f172a; font: inherit; font-size: 1rem; font-weight: 400; letter-spacing: 0; -webkit-appearance: none; appearance: none; }
.ts-book__form select { padding-inline-end: 2.25rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23475569' stroke-width='2'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .6rem center; background-size: 1.1rem; }
[dir="rtl"] .ts-book__form select { background-position: left .6rem center; }
.ts-book__form textarea { min-height: 0; resize: vertical; }
.ts-book__form input:focus, .ts-book__form select:focus, .ts-book__form textarea:focus { outline: 2px solid var(--primary-0); outline-offset: 1px; border-color: transparent; }
.ts-book__note { padding: .6rem .75rem; border-radius: .375rem; background: #f5f3ff; color: #4338ca; font-size: .9rem; }
.ts-book__sum { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-top: .9rem; border-top: 1px solid #e2e8f0; color: #334155; }
.ts-book__sum strong { flex: none; color: #0f172a; font-size: 1.6rem; font-weight: 600; }
.ts-book__send { width: 100%; }
.ts-book__send[aria-disabled="true"] { opacity: .45; }
.ts-book__small { color: #64748b; font-size: .8rem; line-height: 1.45; }
