/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-scroll-snap-strictness:proximity;--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-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--blur-sm:8px;--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);--color-background:#faf8ff;--color-on-surface:#131b2e;--font-body-md:"Inter", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}: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)){::placeholder{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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.-left-\[9px\]{left:-9px}.left-0{left:0}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-auto{margin-inline:auto}.-mt-16{margin-top:calc(var(--spacing) * -16)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.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)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-\[400px\]{height:400px}.h-\[450px\]{height:450px}.h-full{height:100%}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-\[300px\]{width:300px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[1280px\]{max-width:1280px}.max-w-sm{max-width:var(--container-sm)}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.cursor-pointer{cursor:pointer}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}: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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * 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)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.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-\[\#c0c7d1\]\/20>:not(:last-child)){border-color:oklab(82.7251% -.00353697 -.0155745/.2)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[\#4d7c0f\]\/30{border-color:oklab(53.2223% -.0932808 .105107/.3)}.border-\[\#4d7c0f\]\/40{border-color:oklab(53.2223% -.0932808 .105107/.4)}.border-\[\#4d7c0f\]\/50{border-color:oklab(53.2223% -.0932808 .105107/.5)}.border-\[\#0369a1\]{border-color:#0369a1}.border-\[\#0369a1\]\/30{border-color:oklab(49.9983% -.0546215 -.10605/.3)}.border-\[\#0369a1\]\/40{border-color:oklab(49.9982% -.0546215 -.10605/.4)}.border-\[\#00507d\]\/30{border-color:oklab(41.4255% -.0455108 -.089132/.3)}.border-\[\#955301\]\/30{border-color:oklab(50.9394% .0571201 .103138/.3)}.border-\[\#bbf37c\]\/30{border-color:oklab(90.0313% -.102549 .122816/.3)}.border-\[\#c0c7d1\]\/10{border-color:oklab(82.7251% -.00353697 -.0155745/.1)}.border-\[\#c0c7d1\]\/20{border-color:oklab(82.7251% -.00353697 -.0155745/.2)}.border-\[\#c0c7d1\]\/30{border-color:oklab(82.7251% -.00353697 -.0155745/.3)}.border-\[\#c0c7d1\]\/40{border-color:oklab(82.7251% -.00353697 -.0155745/.4)}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.border-white\/30{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.bg-\[\#0f172a\]{background-color:#0f172a}.bg-\[\#0f172a\]\/80{background-color:oklab(20.7682% -.00294789 -.0397151/.8)}.bg-\[\#4d7c0f\]{background-color:#4d7c0f}.bg-\[\#4d7c0f\]\/10{background-color:oklab(53.2223% -.0932808 .105107/.1)}.bg-\[\#4d7c0f\]\/15{background-color:oklab(53.2223% -.0932808 .105107/.15)}.bg-\[\#4d7c0f\]\/20{background-color:oklab(53.2223% -.0932808 .105107/.2)}.bg-\[\#4d7c0f\]\/25{background-color:oklab(53.2223% -.0932808 .105107/.25)}.bg-\[\#4d7c0f\]\/30{background-color:oklab(53.2223% -.0932808 .105107/.3)}.bg-\[\#4d7c0f\]\/40{background-color:oklab(53.2223% -.0932808 .105107/.4)}.bg-\[\#0369a1\]{background-color:#0369a1}.bg-\[\#0369a1\]\/10{background-color:oklab(49.9982% -.0546215 -.10605/.1)}.bg-\[\#0369a1\]\/15{background-color:oklab(49.9983% -.0546215 -.10605/.15)}.bg-\[\#0369a1\]\/25{background-color:oklab(49.9982% -.0546215 -.10605/.25)}.bg-\[\#00507d\]\/15{background-color:oklab(41.4255% -.0455108 -.089132/.15)}.bg-\[\#955301\]\/15{background-color:oklab(50.9394% .0571201 .103138/.15)}.bg-\[\#bbf37c\]\/20{background-color:oklab(90.0313% -.102549 .122816/.2)}.bg-\[\#e2e7ff\]{background-color:#e2e7ff}.bg-\[\#e2e7ff\]\/40{background-color:oklab(93.1425% .00366211 -.0327423/.4)}.bg-\[\#eaedff\]{background-color:#eaedff}.bg-\[\#f8fafc\]{background-color:#f8fafc}.bg-\[\#f8fafc\]\/90{background-color:oklab(98.4152% -.00128633 -.00316095/.9)}.bg-\[\#faf8ff\]{background-color:#faf8ff}.bg-background{background-color:var(--color-background)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#0f172a\]{--tw-gradient-from:#0f172a;--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))}.from-\[\#0f172a\]\/50{--tw-gradient-from:oklab(20.7682% -.00294789 -.0397151/.5);--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))}.from-\[\#0f172a\]\/70{--tw-gradient-from:oklab(20.7682% -.00294789 -.0397151/.7);--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))}.via-\[\#0f172a\]\/40{--tw-gradient-via:oklab(20.7682% -.00294789 -.0397151/.4);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#0f172a\]\/50{--tw-gradient-via:oklab(20.7682% -.00294789 -.0397151/.5);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#0f172a\]\/90{--tw-gradient-via:oklab(20.7682% -.00294789 -.0397151/.9);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#0f172a\]{--tw-gradient-to:#0f172a;--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))}.to-\[\#1e293b\]{--tw-gradient-to:#1e293b;--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))}.to-\[\#faf8ff\]{--tw-gradient-to:#faf8ff;--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))}.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-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.font-body-md{font-family:var(--font-body-md)}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[34px\]{font-size:34px}.text-\[36px\]{font-size:36px}.text-\[40px\]{font-size:40px}.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-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.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-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[\#3e6a00\]{color:#3e6a00}.text-\[\#4b5563\]{color:#4b5563}.text-\[\#4d7c0f\]{color:#4d7c0f}.text-\[\#94ccff\]{color:#94ccff}.text-\[\#131b2e\]{color:#131b2e}.text-\[\#0369a1\]{color:#0369a1}.text-\[\#00507d\]{color:#00507d}.text-\[\#733f00\]{color:#733f00}.text-\[\#40474f\]{color:#40474f}.text-\[\#334155\]{color:#334155}.text-\[\#707881\]{color:#707881}.text-\[\#bbf37c\]{color:#bbf37c}.text-\[\#dae2fd\]{color:#dae2fd}.text-\[\#dae2fd\]\/70{color:oklab(91.502% .00166583 -.0377957/.7)}.text-\[\#f8fafc\]{color:#f8fafc}.text-\[\#f59e0b\]{color:#f59e0b}.text-on-surface{color:var(--color-on-surface)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@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}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-\[\#4d7c0f\]{text-decoration-color:#4d7c0f}.underline-offset-4{text-underline-offset:4px}.underline-offset-8{text-underline-offset:8px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-\[0_8px_30px_rgb\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.drop-shadow-md{--tw-drop-shadow-size:drop-shadow(0 3px 3px var(--tw-drop-shadow-color,#0000001f));--tw-drop-shadow:drop-shadow(var(--drop-shadow-md));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,)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-700{--tw-duration:.7s;transition-duration:.7s}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.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)}.group-hover\:text-\[\#94ccff\]:is(:where(.group):hover *){color:#94ccff}.group-hover\:text-\[\#0369a1\]:is(:where(.group):hover *){color:#0369a1}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:pb-0:last-child{padding-bottom:0}@media (hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[\#0369a1\]:hover{border-color:#0369a1}.hover\:border-\[\#0369a1\]\/40:hover{border-color:oklab(49.9982% -.0546215 -.10605/.4)}.hover\:border-\[\#0369a1\]\/50:hover{border-color:oklab(49.9982% -.0546215 -.10605/.5)}.hover\:bg-\[\#3e6a00\]:hover{background-color:#3e6a00}.hover\:bg-\[\#004b74\]:hover{background-color:#004b74}.hover\:bg-\[\#e2e7ff\]:hover{background-color:#e2e7ff}.hover\:bg-\[\#faf8ff\]:hover{background-color:#faf8ff}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-\[\#004b74\]:hover{color:#004b74}.hover\:text-\[\#0369a1\]:hover{color:#0369a1}.hover\:text-\[\#f8fafc\]:hover{color:#f8fafc}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus\:ring-\[\#0369a1\]:focus{--tw-ring-color:#0369a1}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mt-0{margin-top:0}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (width>=48rem){.md\:-mt-24{margin-top:calc(var(--spacing) * -24)}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\[350px\]{width:350px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:px-12{padding-inline:calc(var(--spacing) * 12)}.md\:py-32{padding-block:calc(var(--spacing) * 32)}.md\:text-left{text-align:left}.md\:text-\[26px\]{font-size:26px}.md\:text-\[36px\]{font-size:36px}.md\:text-\[40px\]{font-size:40px}.md\:text-\[48px\]{font-size:48px}.md\:text-\[50px\]{font-size:50px}.md\:text-\[54px\]{font-size:54px}.md\:text-\[64px\]{font-size:64px}}@media (width>=64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-\[\#0f172a\]{background-color:#0f172a}.dark\:bg-\[\#0f172a\]\/90{background-color:oklab(20.7682% -.00294789 -.0397151/.9)}.dark\:bg-\[\#131b2e\]{background-color:#131b2e}.dark\:bg-\[\#131b2e\]\/60{background-color:oklab(22.472% -.00274439 -.0390054/.6)}.dark\:bg-\[\#283044\]{background-color:#283044}.dark\:text-\[\#94a3b8\]{color:#94a3b8}.dark\:text-\[\#94ccff\]{color:#94ccff}.dark\:text-\[\#bbf37c\]{color:#bbf37c}.dark\:text-\[\#cde5ff\]{color:#cde5ff}.dark\:text-\[\#dae2fd\]{color:#dae2fd}.dark\:text-\[\#eef0ff\]{color:#eef0ff}.dark\:text-\[\#f8fafc\]{color:#f8fafc}.dark\:text-\[\#ffdcc1\]{color:#ffdcc1}@media (hover:hover){.dark\:hover\:bg-\[\#1e293b\]:hover{background-color:#1e293b}.dark\:hover\:text-\[\#bbf37c\]:hover{color:#bbf37c}}}}html{scroll-behavior:smooth}.card-img-zoom{transition:transform .7s cubic-bezier(.4,0,.2,1)}.group:hover .card-img-zoom{transform:scale(1.05)}.scrim-bottom{background:linear-gradient(#0f172a00 0%,#0f172ad9 100%)}@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}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@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-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:0}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@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-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
/* ===== Place photo galleries ==============================================
   Every rule is scoped under .plg-gallery, a class that exists only inside the
   gallery section on /places/* pages. Nothing here can affect another section
   or another page.
   Tailwind v4 is compiled JIT in this build, so the utilities this component
   needs (aspect-*, right-*, fixed thumb sizes, scrollbar hiding, ...) are not
   in the emitted stylesheet — hence explicit CSS rather than utility classes.
   ========================================================================= */
.plg-gallery .plg-intro{margin:0 0 20px;font-size:15px;line-height:1.6;color:#40474f}
.plg-gallery .plg-stage{position:relative;border-radius:12px;overflow:hidden;background:#131b2e}
.plg-gallery .plg-viewport{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;aspect-ratio:3/2;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain}
.plg-gallery .plg-viewport::-webkit-scrollbar{display:none}
.plg-gallery .plg-slide{position:relative;flex:0 0 100%;width:100%;height:100%;margin:0;scroll-snap-align:start}
.plg-gallery .plg-img{display:block;width:100%;height:100%;object-fit:cover;background:#131b2e}
.plg-gallery .plg-caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:44px 20px 16px;color:#f8fafc;background:linear-gradient(to top,rgba(19,27,46,.88) 0%,rgba(19,27,46,.62) 45%,rgba(19,27,46,0) 100%)}
.plg-gallery .plg-caption-text{font-size:15px;line-height:1.5;font-weight:500}
.plg-gallery .plg-caption-credit{font-size:12px;line-height:1.5;color:#dae2fd;opacity:.9}

/* prev / next -------------------------------------------------------------- */
.plg-gallery .plg-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:9999px;background:rgba(248,250,252,.92);color:#131b2e;cursor:pointer;transition:background-color .18s ease,opacity .18s ease;box-shadow:0 2px 8px rgba(19,27,46,.28);z-index:2}
.plg-gallery .plg-nav:hover:not(:disabled){background:#fff}
.plg-gallery .plg-nav:focus-visible{outline:3px solid #0369a1;outline-offset:2px}
.plg-gallery .plg-nav:disabled{opacity:0;pointer-events:none}
.plg-gallery .plg-nav-prev{left:12px}
.plg-gallery .plg-nav-next{right:12px}
.plg-gallery .plg-arrow-icon{width:22px;height:22px;display:block}
.plg-gallery .plg-counter{position:absolute;top:12px;right:12px;margin:0;padding:4px 10px;border-radius:9999px;background:rgba(19,27,46,.72);color:#f8fafc;font-size:12px;font-weight:600;letter-spacing:.02em;z-index:2}

/* thumbnail strip ---------------------------------------------------------- */
.plg-gallery .plg-thumbs{display:flex;gap:10px;margin-top:14px;padding:4px 2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.plg-gallery .plg-thumbs::-webkit-scrollbar{display:none}
.plg-gallery .plg-thumb{flex:0 0 auto;width:104px;height:74px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#e2e7ff;cursor:pointer;opacity:.62;transition:opacity .18s ease,border-color .18s ease,transform .18s ease}
.plg-gallery .plg-thumb:hover{opacity:1;transform:translateY(-1px)}
.plg-gallery .plg-thumb:focus-visible{outline:3px solid #0369a1;outline-offset:2px}
.plg-gallery .plg-thumb-active{opacity:1;border-color:#0369a1}
.plg-gallery .plg-thumb-img{display:block;width:100%;height:100%;object-fit:cover}

/* attribution -------------------------------------------------------------- */
.plg-gallery .plg-credit{margin:14px 0 0;font-size:12.5px;line-height:1.6;color:#40474f}
.plg-gallery .plg-credit-link{color:#0369a1;text-decoration:underline;text-underline-offset:2px}
.plg-gallery .plg-credit-link:hover{color:#004b74}

/* placeholder — shown only where no freely licensed photograph of the place
   exists. Deliberately flat, drawn, and obviously not a photograph. ---------- */
.plg-gallery .plg-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:44px 24px;border-radius:12px;border:1px dashed #c0c7d1;background:repeating-linear-gradient(135deg,#faf8ff 0 12px,#f1f3ff 12px 24px)}
.plg-gallery .plg-placeholder-icon{width:64px;height:48px;color:#94a3b8}
.plg-gallery .plg-placeholder-title{margin:2px 0 0;font-size:17px;font-weight:700;color:#131b2e}
.plg-gallery .plg-placeholder-note{margin:0;max-width:52ch;font-size:13.5px;line-height:1.6;color:#40474f}

/* tablet ------------------------------------------------------------------- */
@media (max-width:900px){
  .plg-gallery .plg-thumb{width:92px;height:66px}
}

/* mobile ------------------------------------------------------------------- */
@media (max-width:640px){
  .plg-gallery .plg-viewport{aspect-ratio:4/3}
  .plg-gallery .plg-caption{padding:36px 14px 12px}
  .plg-gallery .plg-caption-text{font-size:13.5px}
  .plg-gallery .plg-caption-credit{font-size:11px}
  .plg-gallery .plg-nav{width:38px;height:38px}
  .plg-gallery .plg-nav-prev{left:8px}
  .plg-gallery .plg-nav-next{right:8px}
  .plg-gallery .plg-arrow-icon{width:19px;height:19px}
  .plg-gallery .plg-thumb{width:76px;height:56px}
  .plg-gallery .plg-thumbs{gap:8px;margin-top:12px}
  .plg-gallery .plg-placeholder{padding:32px 16px}
}

@media (prefers-reduced-motion:reduce){
  .plg-gallery .plg-nav,.plg-gallery .plg-thumb{transition:none}
}

/* eg:begin — event gallery coverflow, see scripts/eventgallery/ */
/* ===== Event Gallery =======================================================
   Every rule is scoped under .eg-section, a class that exists only on the
   event gallery of an /events/* page.

   The card's outer chrome (bg-white rounded-xl p-8 shadow-sm border …) and its
   h2 reuse, character for character, the utility strings the sibling
   main-column sections already use. Everything below is what Tailwind cannot
   express in this frozen build: the perspective stage, the five depth slots,
   the ambient blur and the on-tile caption.

   These rules are UNLAYERED and Tailwind's output is not, so they beat
   preflight and any utility without !important — the same mechanism the place
   gallery, location map, newsletter and visit-card blocks rely on.

   THE GEOMETRY IS CUSTOM PROPERTIES, NOT INLINE STYLE. The 21st.dev reference
   writes its transforms inline in JS, which fixes the coverflow at one size;
   its tiles are 330x500 and throw ±510px, which is 1350px wide and cannot fit
   a ~740px article column, let alone a phone. Here every tile reads the same
   four variables and the media queries below retune them. Desktop-first
   max-width queries, to match the other hand-written blocks on this site.

   Palette is the page's own, not the reference's restaurant gold: the stage is
   #0f172a, the exact colour of this page's hero, and the accent is #94ccff,
   the on-dark accent that hero already uses for its icons.
   ========================================================================= */

/* header ------------------------------------------------------------------- */
.eg-section .eg-intro{margin:0 0 18px;font-size:14.5px;line-height:1.6;color:#4b5563}

/* the stage ---------------------------------------------------------------- */
.eg-section .eg-viewport{
  --eg-w:300px; --eg-h:225px;
  --eg-x1:170px; --eg-x2:300px;
  --eg-r1:24deg; --eg-r2:38deg;
  --eg-s1:.84;   --eg-s2:.68;
  --eg-stage-h:286px;

  position:relative;height:var(--eg-stage-h);
  border-radius:14px;overflow:hidden;background:#0f172a;
  isolation:isolate;
}

/* Ambient wash: the facing photograph, blurred back into the ground. Scaled up
   so the blur never pulls the frame edge inside the viewport. */
.eg-section .eg-ambient{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.eg-section .eg-ambient-photo{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:brightness(.30) blur(26px);transform:scale(1.18);
  transition:opacity 700ms ease;
}
.eg-section .eg-viewport::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 50% 45%,rgba(15,23,42,.25) 0%,rgba(15,23,42,.88) 100%);
}

.eg-section .eg-stage{
  position:absolute;inset:0;z-index:2;
  display:flex;align-items:center;justify-content:center;
  perspective:1400px;
}
.eg-section .eg-stage:focus{outline:none}
.eg-section .eg-stage:focus-visible{outline:3px solid #94ccff;outline-offset:-3px;border-radius:14px}

/* tiles -------------------------------------------------------------------- */
.eg-section .eg-card{
  position:absolute;margin:0;
  width:var(--eg-w);height:var(--eg-h);
  border-radius:14px;overflow:hidden;
  background:#131b2e;border:1px solid rgba(255,255,255,.14);
  transform-origin:center center;
  transition:transform 800ms cubic-bezier(.25,1,.5,1),
             opacity 800ms cubic-bezier(.25,1,.5,1),
             filter 800ms cubic-bezier(.25,1,.5,1);
}
.eg-section .eg-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* The five depth slots. Right-hand tiles rotate away from the reader, left-hand
   tiles toward — that opposition is what reads as depth rather than a slide. */
.eg-section .eg-c{
  transform:translateX(0) scale(1) rotateY(0deg);
  opacity:1;z-index:30;filter:brightness(1);
  box-shadow:0 22px 50px rgba(0,0,0,.62),0 0 26px rgba(148,204,255,.20);
  cursor:default;
}
.eg-section .eg-r1{
  transform:translateX(var(--eg-x1)) scale(var(--eg-s1)) rotateY(calc(-1 * var(--eg-r1)));
  opacity:.7;z-index:20;filter:brightness(.72);
  box-shadow:0 14px 30px rgba(0,0,0,.5);cursor:pointer;
}
.eg-section .eg-l1{
  transform:translateX(calc(-1 * var(--eg-x1))) scale(var(--eg-s1)) rotateY(var(--eg-r1));
  opacity:.7;z-index:20;filter:brightness(.72);
  box-shadow:0 14px 30px rgba(0,0,0,.5);cursor:pointer;
}
.eg-section .eg-r2{
  transform:translateX(var(--eg-x2)) scale(var(--eg-s2)) rotateY(calc(-1 * var(--eg-r2)));
  opacity:.42;z-index:10;filter:brightness(.55) blur(1px);
  box-shadow:0 10px 22px rgba(0,0,0,.45);cursor:pointer;
}
.eg-section .eg-l2{
  transform:translateX(calc(-1 * var(--eg-x2))) scale(var(--eg-s2)) rotateY(var(--eg-r2));
  opacity:.42;z-index:10;filter:brightness(.55) blur(1px);
  box-shadow:0 10px 22px rgba(0,0,0,.45);cursor:pointer;
}
.eg-section .eg-off{
  transform:translateX(0) scale(.4) rotateY(0deg);
  opacity:0;z-index:0;pointer-events:none;
}

/* on-tile caption ---------------------------------------------------------- */
.eg-section .eg-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.02) 38%,rgba(0,0,0,.62) 74%,rgba(0,0,0,.92) 100%);
}
.eg-section .eg-tile-caption{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  margin:0;padding:14px 15px 13px;
  font-size:13px;line-height:1.4;font-weight:500;color:#fff;
  text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.9);
  opacity:0;transform:translateY(10px);
  transition:opacity 500ms ease,transform 500ms ease;
}
.eg-section .eg-c .eg-tile-caption{opacity:1;transform:translateY(0)}

/* arrows ------------------------------------------------------------------- */
.eg-section .eg-nav{
  position:absolute;top:50%;z-index:40;
  width:42px;height:42px;margin-top:-21px;padding:0;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;border:1px solid rgba(255,255,255,.24);
  background:rgba(9,14,28,.62);color:#fff;cursor:pointer;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  box-shadow:0 8px 20px rgba(0,0,0,.42);
  transition:background 200ms ease,border-color 200ms ease,transform 200ms ease;
}
.eg-section .eg-nav:hover{background:rgba(3,105,161,.86);border-color:#94ccff}
.eg-section .eg-nav:focus-visible{outline:3px solid #94ccff;outline-offset:2px}
.eg-section .eg-nav:active{transform:scale(.94)}
.eg-section .eg-nav-prev{left:12px}
.eg-section .eg-nav-next{right:12px}

/* dots --------------------------------------------------------------------- */
.eg-section .eg-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0}
.eg-section .eg-dot{
  width:8px;height:8px;padding:0;border:0;border-radius:9999px;
  background:#c0c7d1;cursor:pointer;
  transition:width 300ms ease,background 300ms ease;
}
.eg-section .eg-dot:hover{background:#7d8794}
.eg-section .eg-dot:focus-visible{outline:3px solid #0369a1;outline-offset:2px}
.eg-section .eg-dot-on{width:26px;background:#0369a1}

/* credit + standing note --------------------------------------------------- */
.eg-section .eg-meta{
  margin:14px 0 0;text-align:center;
  font-size:12.5px;line-height:1.5;color:#4b5563;
}
.eg-section .eg-note{
  margin:16px 0 0;padding-top:14px;
  border-top:1px solid rgba(192,199,209,.55);
  font-size:13px;line-height:1.6;color:#4b5563;
}
.eg-section .eg-link{color:#0369a1;text-decoration:underline;text-underline-offset:2px}
.eg-section .eg-link:hover{color:#004b74}
.eg-section .eg-link:focus-visible{outline:3px solid #0369a1;outline-offset:2px}

/* tablet ------------------------------------------------------------------- */
@media (max-width:900px){
  .eg-section .eg-viewport{
    --eg-w:262px; --eg-h:196px;
    --eg-x1:150px; --eg-x2:262px;
    --eg-stage-h:252px;
  }
}

/* phone. The far pair is kept but throws proportionally less, so it still
   peeks in at the frame edge instead of leaving the centre tile alone. ------ */
@media (max-width:640px){
  .eg-section .eg-viewport{
    --eg-w:214px; --eg-h:160px;
    --eg-x1:118px; --eg-x2:206px;
    --eg-r1:22deg; --eg-r2:34deg;
    --eg-stage-h:214px;
  }
  .eg-section .eg-nav{width:38px;height:38px;margin-top:-19px}
  .eg-section .eg-nav-prev{left:6px}
  .eg-section .eg-nav-next{right:6px}
  .eg-section .eg-tile-caption{font-size:12px;padding:11px 12px 10px}
}

/* small phone -------------------------------------------------------------- */
@media (max-width:400px){
  .eg-section .eg-viewport{
    --eg-w:176px; --eg-h:132px;
    --eg-x1:98px; --eg-x2:172px;
    --eg-stage-h:180px;
  }
}

/* A reader who has asked for less motion gets the same gallery without the
   800ms glide — the tiles simply are where they belong. --------------------- */
@media (prefers-reduced-motion:reduce){
  .eg-section .eg-card,
  .eg-section .eg-tile-caption,
  .eg-section .eg-ambient-photo,
  .eg-section .eg-dot,
  .eg-section .eg-nav{transition:none}
}
/* eg:end */

/* pv:begin — plan your visit card, see scripts/planvisit/ */
/* ===== Plan Your Visit ====================================================
   Every rule is scoped under .pv-section, a class that exists only on the
   "Plan Your Visit" card of a /places/* page.

   The card's own chrome (bg-white rounded-xl p-8 shadow-sm border …) and its h2
   reuse, character for character, the utility strings the sibling main-column
   sections already use. Everything below is what Tailwind cannot express in
   this frozen build: the four-column editorial grid, the hairline rules between
   items, and the small letterspaced labels.

   These rules are UNLAYERED and Tailwind's output is not, so they beat
   preflight and any utility without !important — the same mechanism the place
   gallery, location map and newsletter blocks rely on.

   Layout: one row of four on the full-width main column (~740px at >=1024px),
   two-up below 900px, stacked below 640px. Desktop-first max-width queries, to
   match the other hand-written blocks on this site.
   ========================================================================= */

/* header ------------------------------------------------------------------- */
.pv-section .pv-intro{margin:0 0 20px;font-size:14.5px;line-height:1.6;color:#4b5563}
.pv-section .pv-rule{border:0;border-top:1px solid rgba(192,199,209,.55);margin:0}

/* the four-across editorial grid ------------------------------------------- */
.pv-section .pv-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0}
.pv-section .pv-item{padding:24px 18px;min-width:0}
/* Hairline rules BETWEEN items only — the card's own border does the outside. */
.pv-section .pv-item + .pv-item{border-left:1px solid rgba(192,199,209,.55)}
.pv-section .pv-item:first-child{padding-left:0}
.pv-section .pv-item:last-child{padding-right:0}

.pv-section .pv-label{
  margin:0 0 10px;font-size:11px;font-weight:600;line-height:1.2;
  letter-spacing:.1em;text-transform:uppercase;color:#707881;
}
.pv-section .pv-value{margin:0;font-size:15px;font-weight:500;line-height:1.5;color:#131b2e;overflow-wrap:break-word;hyphens:none}
/* A second, quieter line — e.g. the city under a street address, or a matinee. */
.pv-section .pv-sub{display:block;margin-top:5px;font-size:13.5px;font-weight:400;line-height:1.45;color:#4b5563}

/* footnote ----------------------------------------------------------------- */
.pv-section .pv-note{
  margin:20px 0 0;padding-top:16px;border-top:1px solid rgba(192,199,209,.55);
  font-size:13px;line-height:1.6;color:#4b5563;
}
.pv-section .pv-link{color:#0369a1;text-decoration:underline;text-underline-offset:2px}
.pv-section .pv-link:hover{color:#004b74}
.pv-section .pv-link:focus-visible{outline:3px solid #0369a1;outline-offset:2px}

/* tablet: two-up. Reset the left rule on each new row's first cell and add a
   horizontal rule between the two rows. ------------------------------------- */
@media (max-width:900px){
  .pv-section .pv-grid{grid-template-columns:repeat(2,1fr)}
  .pv-section .pv-item{padding:22px}
  .pv-section .pv-item:nth-child(odd){padding-left:0;border-left:0}
  .pv-section .pv-item:nth-child(even){padding-right:0}
  .pv-section .pv-item:nth-child(n+3){border-top:1px solid rgba(192,199,209,.55)}
}

/* mobile: stacked, hairlines become horizontal ----------------------------- */
@media (max-width:640px){
  .pv-section .pv-grid{grid-template-columns:1fr}
  .pv-section .pv-item{padding:18px 0;border-left:0}
  .pv-section .pv-item + .pv-item{border-left:0;border-top:1px solid rgba(192,199,209,.55)}
  .pv-section .pv-item:nth-child(n+3){border-top:1px solid rgba(192,199,209,.55)}
}
/* pv:end */

/* lm:begin — place location map, see scripts/locationmap/ */
/* ===== Place location map =================================================
   Every rule is scoped under .lm-section, a class that exists only on the
   location-map section of a /places/* page with verified coordinates.

   The card lives in the /places/:slug SIDEBAR, as its first card. Its chrome
   (bg-white rounded-xl p-6 shadow-sm border …), its h3 and the Get Directions
   button reuse, character for character, the utility strings the sibling
   "Landmark Quick Facts" and "Other Murray Attractions" cards already use, so
   only what Tailwind cannot express in this build gets explicit CSS.

   Sizing note: the sidebar column is ~368px wide at >=1024px (a 1280px max
   container, px-12, lg:grid-cols-3, gap-10), leaving ~320px inside the card's
   p-6. Below 1024px the grid collapses to one column and the card goes full
   width. The map therefore has to read at both widths, which is why the frame
   is a fixed height rather than an aspect ratio, and why the meta block stacks
   at every width instead of only on mobile.

   Leaflet's own stylesheet is loaded separately from /assets/ at runtime and is
   not duplicated here. These rules sit on top of it: everything that reaches
   into Leaflet's DOM is namespaced under .lm-map so it cannot affect anything
   else if a second map is ever added.

   These rules are UNLAYERED and Tailwind's output is not, so they beat
   preflight and any utility without !important — the same mechanism the place
   gallery and the sidebar newsletter blocks above rely on.
   ========================================================================= */

/* map frame ---------------------------------------------------------------- */
.lm-section .lm-frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid #c0c7d1;background:repeating-linear-gradient(135deg,#faf8ff 0 12px,#f1f3ff 12px 24px)}
.lm-section .lm-map{width:100%;height:300px;background:transparent}
.lm-section .lm-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:0;padding:24px;text-align:center;font-size:13.5px;line-height:1.6;color:#40474f}
.lm-section .lm-frame.lm-ready .lm-fallback{display:none}

/* OpenStreetMap's standard tiles are more saturated than anything else on this
   page; a light desaturation settles them next to the site's palette without
   making the map hard to read. */
.lm-section .lm-map .leaflet-tile-pane{filter:saturate(.82)}

/* Leaflet paints its own focus/typography defaults; align them with the site. */
.lm-section .lm-map.leaflet-container{font-family:inherit;font-size:13px}
.lm-section .lm-map .leaflet-control-zoom a{color:#131b2e}
.lm-section .lm-map .leaflet-control-zoom a:focus-visible,
.lm-section .lm-map .leaflet-marker-icon:focus-visible{outline:3px solid #0369a1;outline-offset:2px}
.lm-section .lm-map .leaflet-popup-content{margin:12px 14px;font-size:13px;line-height:1.55;color:#131b2e}
.lm-section .lm-map .leaflet-popup-content strong{font-weight:700}
.lm-section .lm-map .leaflet-popup-content span{color:#40474f}
.lm-section .lm-map .leaflet-container a{color:#0369a1}

/* marker — an inline-SVG divIcon, so no external image is fetched ---------- */
.lm-section .lm-map .lm-pin{background:none;border:0}
.lm-section .lm-map .lm-pin svg{display:block;filter:drop-shadow(0 2px 3px rgba(19,27,46,.35))}

/* address + directions ----------------------------------------------------- */
/* Stacked at every width: in a ~320px sidebar an address and a button cannot
   share a row, and the button then matches the full-width "Visit Official
   Website" button in the card below. */
.lm-section .lm-meta{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:16px}
.lm-section .lm-address{display:flex;flex-direction:column;gap:6px;font-style:normal;font-size:13.5px;line-height:1.5;color:#334155}
.lm-section .lm-address-line{display:flex;align-items:flex-start;gap:8px}
/* The icon is Material Symbols, which is served unlayered from Google Fonts and
   hard-sets font-size:24px — a Tailwind text-[Npx] on it would be inert, so the
   size has to be set here. flex-shrink:0 keeps a wrapped address off the glyph. */
.lm-section .lm-icon{font-size:20px;line-height:1.4;color:#0369a1;flex:0 0 auto}
.lm-section .lm-link{color:#0369a1;text-decoration:underline;text-underline-offset:2px}
.lm-section .lm-link:hover{color:#004b74}
.lm-section .lm-directions:focus-visible{outline:3px solid #0369a1;outline-offset:2px}

/* mobile ------------------------------------------------------------------- */
@media (max-width:640px){
  .lm-section .lm-map{height:250px}
}
/* lm:end */

/* nlw:begin — sidebar newsletter widget, see scripts/newsletter/ */
/* ===== Sidebar newsletter signup ==========================================
   Every rule is scoped under .nlw-card, a class that exists only on the third
   sidebar card of the /places/* pages. Nothing here can reach another section
   or another page.

   The card's chrome, heading, description, consent label, privacy note and
   submit button carry no rules here at all: they reuse, character for
   character, the utility strings the sidebar CTA card already shipping on
   /schools/* uses, so this card tracks any future change to that one. Only
   what Tailwind cannot express in this build gets explicit CSS — the compiled
   stylesheet is JIT and has no sr-only, accent-*, appearance-none,
   placeholder:*, disabled:*, bare border-[#c0c7d1] or mt-3 utility, and
   preflight strips a control's border, padding and background outright.

   Contrast is measured against this card's real composited ground, #f0f1ff
   (#e2e7ff at 40% over the #faf8ff page), NOT against white — several of the
   site's muted greys pass on white and fail here. The field border is #818c9c
   (3.04:1 on the card, 3.41:1 on its own white fill) because WCAG 1.4.11 wants
   3:1 for the visible boundary of a control; the site's decorative #c0c7d1
   card edge is only 1.52:1 and is not enough for an input.

   The field is 16px at every width, not just on small screens: iOS Safari
   zooms the page whenever a focused input is under 16px, and this card is
   full-width on every viewport below 1024px, tablets included.

   Icons are deliberately unsized. Google's .material-symbols-outlined rule is
   unlayered and hard-sets font-size:24px, so a text-[Npx] on an icon span is
   inert in this build; sizing this widget's icons would make its submit
   button shorter than the identical button in the card above it.

   These rules are UNLAYERED and Tailwind's output is not, so they beat
   preflight and any utility without needing !important — the same mechanism
   the place-gallery block above relies on.
   ========================================================================= */

/* email field -------------------------------------------------------------- */
.nlw-card .nlw-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%);border:0}
.nlw-card .nlw-input{display:block;width:100%;margin:0;padding:9px 12px;border:1px solid #818c9c;border-radius:8px;background:#fff;color:#131b2e;font-family:inherit;font-size:16px;line-height:24px;-webkit-appearance:none;appearance:none;transition:border-color .18s ease}
.nlw-card .nlw-input::placeholder{color:#5b6470;opacity:1}
.nlw-card .nlw-input:focus-visible{border-color:#0369a1;outline:3px solid #0369a1;outline-offset:2px}
.nlw-card .nlw-input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset;-webkit-text-fill-color:#131b2e}
.nlw-card .nlw-input-invalid{border-color:#b91c1c}
.nlw-card .nlw-input-invalid:focus-visible{border-color:#b91c1c;outline-color:#b91c1c}

/* status line — one element for every message the widget produces. It is
   mounted from the server render and never unmounted, so a message is an
   announced content change rather than an insertion. It must NOT be hidden
   with display:none while empty: that would take it out of the accessibility
   tree, which is the failure this whole arrangement exists to avoid. An empty
   block box is already zero height, so dropping its margin is enough. ------- */
.nlw-card .nlw-status{margin:10px 0 0;font-size:12px;line-height:1.5;color:#4b5563}
.nlw-card .nlw-status:empty{margin:0}
.nlw-card .nlw-status:focus{outline:none}
.nlw-card .nlw-status-error{color:#b91c1c}
.nlw-card .nlw-status-done{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:14px;line-height:1.625;color:#131b2e}

/* consent + submit --------------------------------------------------------- */
.nlw-card .nlw-consent{margin-top:12px}
.nlw-card .nlw-check{width:16px;height:16px;margin:4px 0 0;accent-color:#0369a1;cursor:pointer}
.nlw-card .nlw-check:focus-visible{outline:3px solid #0369a1;outline-offset:2px}
.nlw-card .nlw-btn{margin-top:12px;cursor:pointer}
.nlw-card .nlw-btn:focus-visible{outline:3px solid #0369a1;outline-offset:2px}
.nlw-card .nlw-btn:disabled{background:#0369a1;opacity:.6;cursor:default}
.nlw-card .nlw-btn-pending{opacity:.6;cursor:default}

/* mobile ------------------------------------------------------------------- */
@media (max-width:640px){
  .nlw-card .nlw-check{width:18px;height:18px;margin-top:3px}
}

@media (prefers-reduced-motion:reduce){
  .nlw-card .nlw-input,.nlw-card .nlw-btn{transition:none}
}
/* nlw:end */
