/* utilities.css */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-3\.5{top:-.875rem}.bottom-3{bottom:.75rem}.bottom-6{bottom:1.5rem}.left-1\/2{left:50%}.left-4{left:1rem}.left-6{left:1.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1/-1}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-20{height:5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-9{height:2.25rem}.h-\[380px\]{height:380px}.h-full{height:100%}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[300px\]{min-height:300px}.w-10{width:2.5rem}.w-12{width:3rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-brandBlue\/20{border-color:rgba(27,82,153,.2)}.border-brandRed{--tw-border-opacity:1;border-color:rgb(217 43 47/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-brandBlue{--tw-bg-opacity:1;background-color:rgb(27 82 153/var(--tw-bg-opacity,1))}.bg-brandBlue\/90{background-color:rgba(27,82,153,.9)}.bg-brandRed{--tw-bg-opacity:1;background-color:rgb(217 43 47/var(--tw-bg-opacity,1))}.bg-darkCharcoal{--tw-bg-opacity:1;background-color:rgb(30 37 48/var(--tw-bg-opacity,1))}.bg-darkCharcoal\/95{background-color:rgba(30,37,48,.95)}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/80{background-color:rgba(31,41,55,.8)}.bg-lightTint{--tw-bg-opacity:1;background-color:rgb(244 247 250/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-darkCharcoal\/70{--tw-gradient-from:rgba(30,37,48,.7) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,37,48,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-darkCharcoal\/90{--tw-gradient-from:rgba(30,37,48,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,37,48,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-darkCharcoal\/30{--tw-gradient-to:rgba(30,37,48,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(30,37,48,.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-lightTint{--tw-gradient-to:#f4f7fa var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-6{padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.font-sans{font-family:Inter,Arial,sans-serif}.font-serif{font-family:Playfair Display,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-brandBlue{--tw-text-opacity:1;color:rgb(27 82 153/var(--tw-text-opacity,1))}.text-brandRed{--tw-text-opacity:1;color:rgb(217 43 47/var(--tw-text-opacity,1))}.text-darkCharcoal{--tw-text-opacity:1;color:rgb(30 37 48/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-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)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.selection\:bg-brandRed ::-moz-selection{--tw-bg-opacity:1;background-color:rgb(217 43 47/var(--tw-bg-opacity,1))}.selection\:bg-brandRed ::selection{--tw-bg-opacity:1;background-color:rgb(217 43 47/var(--tw-bg-opacity,1))}.selection\:text-white ::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:text-white ::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:bg-brandRed::-moz-selection{--tw-bg-opacity:1;background-color:rgb(217 43 47/var(--tw-bg-opacity,1))}.selection\:bg-brandRed::selection{--tw-bg-opacity:1;background-color:rgb(217 43 47/var(--tw-bg-opacity,1))}.selection\:text-white::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:text-white::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-rotate-1:hover,.hover\:-translate-y-1:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-rotate-1:hover{--tw-rotate:-1deg}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-brandBlue:hover{--tw-border-opacity:1;border-color:rgb(27 82 153/var(--tw-border-opacity,1))}.hover\:bg-brandBlue:hover{--tw-bg-opacity:1;background-color:rgb(27 82 153/var(--tw-bg-opacity,1))}.hover\:bg-brandBlueDark:hover{--tw-bg-opacity:1;background-color:rgb(18 57 107/var(--tw-bg-opacity,1))}.hover\:bg-brandRedDark:hover{--tw-bg-opacity:1;background-color:rgb(179 30 34/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-brandBlue:hover{--tw-text-opacity:1;color:rgb(27 82 153/var(--tw-text-opacity,1))}.hover\:text-brandBlueDark:hover{--tw-text-opacity:1;color:rgb(18 57 107/var(--tw-text-opacity,1))}.hover\:text-brandRed:hover{--tw-text-opacity:1;color:rgb(217 43 47/var(--tw-text-opacity,1))}.hover\:text-darkCharcoal:hover{--tw-text-opacity:1;color:rgb(30 37 48/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-brandBlue{--tw-bg-opacity:1;background-color:rgb(27 82 153/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-brandRed{--tw-bg-opacity:1;background-color:rgb(217 43 47/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-brandBlue{--tw-text-opacity:1;color:rgb(27 82 153/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:h-\[440px\]{height:440px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:pl-8{padding-left:2rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-full{height:100%}.md\:min-h-\[500px\]{min-height:500px}.md\:w-2\/5{width:40%}.md\:w-3\/5{width:60%}.md\:-translate-y-2{--tw-translate-y:-0.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.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\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:py-20{padding-top:5rem;padding-bottom:5rem}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:h-96{height:24rem}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1280px){.xl\:text-6xl{font-size:3.75rem;line-height:1}}
/* fonts.css */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(../assets/fonts/inter-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(../assets/fonts/inter-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(../assets/fonts/inter-latin-ext-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(../assets/fonts/inter-latin-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(../assets/fonts/playfair-display-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(../assets/fonts/playfair-display-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-display: swap;
  font-weight: 400 900;
  src: url(../assets/fonts/playfair-display-latin-ext-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-display: swap;
  font-weight: 400 900;
  src: url(../assets/fonts/playfair-display-latin-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Only the rupee glyph: avoids loading Latin Extended for INR prices. */
@font-face { font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url(../assets/fonts/inter-rupee-wght-normal.woff2) format('woff2'); unicode-range:U+20B9; }

/* Only the rupee glyph: avoids loading Latin Extended for INR prices. */
@font-face { font-family:'Inter'; font-style:italic; font-weight:100 900; font-display:swap; src:url(../assets/fonts/inter-rupee-wght-italic.woff2) format('woff2'); unicode-range:U+20B9; }

/* Only the rupee glyph: avoids loading Latin Extended for INR prices. */
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:400 900; font-display:swap; src:url(../assets/fonts/playfair-display-rupee-wght-normal.woff2) format('woff2'); unicode-range:U+20B9; }

/* Only the rupee glyph: avoids loading Latin Extended for INR prices. */
@font-face { font-family:'Playfair Display'; font-style:italic; font-weight:400 900; font-display:swap; src:url(../assets/fonts/playfair-display-rupee-wght-italic.woff2) format('woff2'); unicode-range:U+20B9; }

/* style.css */
/* ============================================================
   Jubeerich Co | Work — shared site styles
   (Extracted from the original brochure <style> block, unchanged,
   plus a few small additions needed for dynamic content states.)
   ============================================================ */
.glass-nav {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
}
.album-shadow {
    box-shadow: 0 20px 40px -15px rgba(27, 82, 153, 0.25);
}
.photo-card-shadow {
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.12);
}
.album-book-edge {
    border-left: 6px solid #12396B;
}
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #F4F7FA; }
::-webkit-scrollbar-thumb { background: #1B5299; border-radius: 4px; }

/* Loading skeletons for dynamic content */
.skeleton {
    background: linear-gradient(90deg, #eef1f4 25%, #e4e9ee 37%, #eef1f4 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
}
@keyframes skeleton-loading {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}
.dynamic-empty { text-align: center; padding: 40px 20px; color: #64748b; font-size: .9rem; }

:root { --cms-primary:#1b5299; --cms-accent:#d92b2f; --cms-button-text:#fff; --cms-page-background:#f4f7fa; --cms-text-color:#1e2530; }
[hidden] { display:none !important; }
.social-links { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.social-links a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 14px; border:1px solid currentColor; border-radius:24px; font-size:14px; font-weight:600; }
.social-links a:hover { text-decoration:underline; }
.social-links svg { width:18px; height:18px; flex-shrink:0; }
.social-links-footer { justify-content:center; padding:20px 16px 4px; color:#fff; }
body { background-color:var(--cms-page-background) !important; color:var(--cms-text-color) !important; }
.bg-brandBlue { background-color:var(--cms-primary) !important; }
.bg-brandRed { background-color:var(--cms-accent) !important; }
.text-brandBlue { color:var(--cms-primary) !important; }
.text-brandRed { color:var(--cms-accent) !important; }
.text-darkCharcoal { color:var(--cms-text-color); }
.border-brandBlue { border-color:var(--cms-primary) !important; }
.border-brandRed { border-color:var(--cms-accent) !important; }
.bg-lightTint { background-color:var(--cms-page-background) !important; }
:is(a,button).bg-brandBlue,:is(a,button).bg-brandRed { color:var(--cms-button-text) !important; text-align:center; }
:is(a,button).bg-brandBlue:hover,:is(a,button).bg-brandRed:hover { filter:brightness(.9); }
[data-billing][aria-pressed="true"] { background:var(--cms-primary) !important; color:var(--cms-button-text) !important; }
img { max-width:100%; }
section { scroll-margin-top:6rem; }
:focus-visible { outline:3px solid var(--cms-accent); outline-offset:4px; }
.cms-effects #hero { background-image:radial-gradient(ellipse at 90% 10%,#dceaf7,transparent 60%); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .cms-effects .photo-card-shadow:hover { transform:perspective(1200px) translateY(-5px) rotateX(1deg); box-shadow:0 22px 40px -18px #12396b70; }
    .cms-effects #heroImage { transition:transform .6s; }
    .cms-effects #heroImage:hover { transform:scale(1.025); }
}
/* Keep navigation readable on tablets and small laptops. */
.site-nav { gap:18px; white-space:nowrap; }
.site-nav a { padding-top:12px; padding-bottom:12px; }
@media (min-width:1200px) and (max-width:1359px) {
    .site-nav { gap:12px; font-size:13px; }
}
@media (max-width:1199px) {
    header nav { display:none !important; }
    #mobileMenuBtn { display:block !important; }
    #mobileMenu:not(.hidden) { display:block !important; }
}
@media (max-width:640px) {
    #pricing .inline-flex { flex-wrap:wrap; justify-content:center; }
    #lightboxModal { overflow-y:auto; padding:48px 12px; }
    #lightboxModal > div { max-height:85dvh; overflow-y:auto; }
    .fixed.inset-0 > div { max-width:100%; }
    h1,h2,h3,p,a { overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* photo-viewer.css */
.photo-viewer-overlay { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:16px; background:#101827ed; }
.photo-viewer-overlay.hidden { display:none; }
.photo-viewer-panel { width:min(960px,100%); max-height:94vh; max-height:94dvh; overflow:auto; background:#fff; color:#1e2530; border-radius:16px; box-shadow:0 20px 70px #0008; }
.photo-viewer-toolbar { position:static; display:flex; gap:12px; align-items:center; justify-content:space-between; padding:12px 16px; background:#fff; color:#1e2530; }
.photo-viewer-toolbar button { cursor:pointer; border:1px solid #cbd5e1; background:#f1f5f9; color:#142f54; padding:10px 14px; border-radius:8px; font:inherit; }
.photo-viewer-toolbar button:disabled { opacity:.4; cursor:default; }
.photo-viewer-toolbar button:focus-visible, .record-gallery button:focus-visible, .record-photo-cover:focus-visible { outline:3px solid #e5484d; outline-offset:3px; }
.photo-viewer-stage { background:#101827; display:flex; align-items:center; justify-content:center; min-height:120px; }
.photo-viewer-stage img { display:block; max-width:100%; width:100%; height:min(58vh,640px); height:min(58dvh,640px); object-fit:contain; }
.photo-viewer-caption { padding:12px 16px; overflow-wrap:anywhere; }
.photo-viewer-caption h2 { margin:0; font-size:20px; font-weight:700; }
.photo-viewer-caption p { margin:6px 0 0; }
#photoViewerError { padding:24px; color:#fff; background:#182438; text-align:center; }
#lightboxModal [hidden] { display:none !important; }
.record-photo-cover { display:block; width:100%; border:0; padding:0; cursor:zoom-in; }
.record-gallery { margin-top:16px; }
.record-gallery-thumbs { display:flex; gap:8px; margin:0 0 10px; }
.record-gallery-thumbs button { border:1px solid #cbd5e1; padding:0; border-radius:8px; overflow:hidden; width:64px; height:52px; cursor:zoom-in; background:#e2e8f0; }
.record-gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
.record-gallery-open { font:inherit; font-size:14px; font-weight:600; cursor:pointer; color:var(--cms-primary,#003d7a); border:1px solid currentColor; padding:8px 14px; border-radius:8px; background:transparent; }
.record-gallery-status { font-size:14px; margin-top:8px; color:#a12a23; }
.thumb-wrap .preview-btn { display:block; width:100%; height:100%; border:0; padding:0; cursor:zoom-in; background:transparent; }
.thumb-wrap .preview-btn:focus-visible { outline:3px solid #e5484d; outline-offset:-3px; }
@media(max-width:480px) {
    #lightboxModal.photo-viewer-overlay { padding:8px; }
    #lightboxModal.photo-viewer-overlay > .photo-viewer-panel { max-height:calc(100dvh - 16px); }
    .photo-viewer-stage img { height:48vh; height:48dvh; }
    .photo-viewer-toolbar { padding:10px; gap:8px; }
    .photo-viewer-toolbar button { font-size:14px; padding:10px; }
}

/* location-context.css */
.location-context{max-width:780px;margin:24px auto 0;padding:20px;background:#fff;border:1px solid #d8e2ed;border-radius:16px;text-align:left}
.location-context label{display:block;font-size:.8rem;font-weight:700;margin-bottom:8px;color:#486278}
.location-context select{display:block;width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid #becdde;border-radius:8px;background:#fff;color:#172e43;font:inherit;text-overflow:ellipsis}
.location-context-note{font-size:.85rem;color:#4d6376;margin:12px 0}
.location-context nav{display:flex;flex-wrap:wrap;gap:8px}
.location-context nav a,.location-badge{display:inline-block;border:1px solid #cfdeed;background:#f0f6fc;border-radius:8px;padding:8px 12px;color:var(--cms-primary,#1b5299);font-size:.8rem;font-weight:600;overflow-wrap:anywhere}
.location-context nav a[aria-current=page]{background:var(--cms-primary,#1b5299);color:#fff}
.location-badge{margin:8px 0;text-decoration:none}
.location-context a:focus-visible,.location-context select:focus-visible,.location-badge:focus-visible{outline:3px solid #6999da;outline-offset:3px}
.location-catalogue-section{scroll-margin-top:110px}
@media(max-width:480px){.location-context{padding:14px}.location-context nav a{flex:1 1 40%;text-align:center}#pricingGrid>div{min-width:0;padding:24px}#pricingGrid h3,#pricingGrid p,#pricingGrid a{overflow-wrap:anywhere}}
.gallery-filter-layout{display:grid;gap:24px}
.gallery-filter-layout>div:first-child{min-width:0}
.gallery-filter-layout .location-context{max-width:none;margin:22px 0 0;padding:18px 20px;border-radius:18px;background:#f7faff;box-shadow:0 10px 28px rgba(22,53,87,.055)}
.gallery-filter-layout .location-context select{min-height:48px;max-width:620px;border-radius:10px;border-color:#c3d4e8}
.gallery-filter-layout .location-context-note{margin:10px 0 14px}
.gallery-filter-layout .location-context nav a{border-radius:999px;padding:9px 14px;background:#fff}
.gallery-filter-layout .location-context nav a[aria-current=page]{background:var(--cms-primary,#1b5299)}
.gallery-category-panel{min-width:0;padding:17px 20px 19px;background:#f7faff;border:1px solid #d8e2ed;border-radius:18px;box-shadow:0 10px 28px rgba(22,53,87,.055)}
.gallery-filter-label{margin:0 0 11px;color:#486278;font-size:.8rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.gallery-category-panel #filterContainer{gap:9px}
.gallery-category-panel .filter-btn{min-height:43px;padding:10px 16px;border:1px solid #d5e0eb;border-radius:999px;background:#fff;color:#244460;font-size:.875rem;line-height:1.2;box-shadow:0 2px 5px rgba(22,53,87,.035)}
.gallery-category-panel .filter-btn:hover{border-color:var(--cms-primary,#1b5299);background:#edf5ff;color:var(--cms-primary,#1b5299)}
.gallery-category-panel .filter-btn.active-filter{background:var(--cms-primary,#1b5299);border-color:var(--cms-primary,#1b5299);color:#fff;box-shadow:0 5px 12px rgba(18,67,129,.18)}
.gallery-category-panel .filter-btn:focus-visible{outline:3px solid #6999da;outline-offset:3px}
@media(max-width:600px){.gallery-filter-layout{gap:18px}.gallery-filter-layout .location-context,.gallery-category-panel{padding:16px}.gallery-category-panel #filterContainer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-category-panel .filter-btn{width:100%;padding:10px 8px;white-space:normal}.gallery-category-panel .filter-btn:first-child{grid-column:1/-1}.gallery-filter-layout .location-context nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-filter-layout .location-context nav a{min-width:0;text-align:center}}

/* contact.css */
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1120px;margin:auto;padding:0 24px}
.contact-cards-single{max-width:800px;grid-template-columns:minmax(0,1fr)}
.campus-contact-card{min-width:0;background:#fff;border:1px solid #dce4ef;border-radius:22px;padding:30px;box-shadow:0 8px 28px #173c6410;overflow-wrap:anywhere}
.campus-contact-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-blue,#1f56a0);margin-bottom:10px}
.campus-contact-card h2{font-size:24px;line-height:1.3;font-weight:750;margin:0 0 14px;color:#152b44}
.campus-contact-address{color:#526477;line-height:1.7;margin-bottom:20px;white-space:pre-line}
.campus-contact-links{display:grid;gap:16px;margin:20px 0}
.campus-contact-links a{display:block;color:#1f56a0;font-weight:600;min-height:44px}
.campus-contact-links span{display:block;color:#667789;font-size:12px;font-weight:500;margin-bottom:4px}
.campus-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.campus-contact-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid #cddbef;background:#f1f6fd;color:#1f56a0;font-size:13px;font-weight:650}
.campus-contact-actions .contact-whatsapp{background:#009c73;color:white;border-color:#009c73}
.campus-contact-card a:hover{text-decoration:underline}
.campus-contact-card a:focus-visible{outline:3px solid #82b2ff;outline-offset:4px}
.campus-contact-card iframe{display:block;width:100%;height:230px;border:0;border-radius:14px;margin-top:24px}
@media(max-width:640px){.contact-cards{grid-template-columns:minmax(0,1fr);padding:0 16px;gap:16px}.campus-contact-card{padding:22px;border-radius:18px}.campus-contact-card h2{font-size:21px}.campus-contact-actions a{flex:1 1 130px}}

/* brand-footer.css */
.brand-footer{background:#ededed;color:#172c43;text-align:center;padding:28px 20px 24px;border-bottom:1px solid #2e3944;overflow-wrap:anywhere}
.brand-footer-logo{display:block;width:112px;height:92px;object-fit:contain;margin:0 auto 10px}
.brand-footer-logo[hidden],.brand-footer-tagline[hidden]{display:none}
.brand-footer-tagline{font-size:14px;line-height:1.65;margin:0 auto 18px;max-width:760px;white-space:pre-line}
.brand-footer .social-links{justify-content:center;gap:6px;margin:0 0 12px}
.brand-footer .social-links[hidden]{display:none}
.brand-footer .social-links a{border:0;border-radius:8px;padding:12px;min-width:44px;min-height:44px;justify-content:center;color:#172c43}
.brand-footer .social-links a span{display:none}
.brand-footer .social-links a:hover{background:#dce3eb}
.brand-footer .social-links svg{width:19px;height:19px}
.brand-footer a:focus-visible{outline:3px solid #2769ad;outline-offset:3px}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;font-size:13px}
.footer-legal-links a{padding:10px 4px;min-height:44px;display:inline-flex;align-items:center;color:inherit}
.footer-legal-links a:hover{text-decoration:underline}
.legal-document{max-width:880px;margin:40px auto;padding:32px;background:#fff;border:1px solid #dce4ef;border-radius:18px;min-height:300px}
.legal-document h1{font-size:clamp(26px,5vw,36px);font-weight:750;margin-bottom:24px}
.legal-document-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.85;color:#37485c}
@media(max-width:600px){.brand-footer{padding:24px 16px 18px}.legal-document{margin:20px 14px;padding:24px 20px}.brand-footer-tagline{font-size:13px}}

/* experience.css */
/* Public website: spacious desktop cards and a deliberate, touch-friendly mobile layout. */
:root { --site-line:#dce5ef; --site-ink:#14314d; --site-soft:#edf4fb; }
html { scroll-padding-top:100px; }
body { line-height:1.6; }
/* Defer layout and painting of long homepage sections until they approach the
   viewport. Auto remembers their measured height for smooth return scrolling.
   Anchor navigation, find-in-page and accessibility content remain available. */
@supports (content-visibility:auto) {
    main > :is(#about,#spaces,#album,#amenities,#featuredLocations,#pricing) {
        content-visibility:auto;
        contain-intrinsic-size:auto 900px;
    }
}
@media print {
    main > section { content-visibility:visible !important; }
}
body > header { box-shadow:0 3px 20px #122f4b08; }
body > header .h-20 { gap:20px; }
body > header .h-20 > a { flex-shrink:0; }
body > header .h-20 > div { flex-shrink:0; }
#siteLogoBoxHeader { flex-shrink:0; }
body > header .site-nav { min-width:0; gap:16px; }
body > header :is(button,a).rounded-lg:not(#mobileMenuBtn) { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
#mobileMenuBtn { min-width:44px; min-height:44px; }
.site-nav a { position:relative; }
.site-nav a[aria-current="page"] { color:var(--cms-primary); }
.site-nav a[aria-current="page"]::after { content:""; position:absolute; bottom:3px; left:0; right:0; height:3px; border-radius:4px; background:var(--cms-primary); }
#mobileMenu { max-height:calc(100dvh - 76px); overflow-y:auto; overscroll-behavior:contain; }
#mobileMenu > a { min-height:48px; padding:12px 16px; border-radius:12px; margin-top:4px; }
#mobileMenu > a:hover,#mobileMenu > a[aria-current="page"] { background:var(--site-soft); color:var(--cms-primary); }
:is(body,body > main) > section h1 { letter-spacing:-.035em; line-height:1.15; text-wrap:balance; }
:is(body,body > main) > section h2 { letter-spacing:-.025em; line-height:1.25; text-wrap:balance; }
:is(body,body > main) > section p { line-height:1.65; }
.location-card { border-color:var(--site-line); box-shadow:0 12px 38px #1634510a; }
.location-cover { height:300px; }
.location-card-body { padding:28px; }
.location-card-body h3 { letter-spacing:-.025em; }
.location-card-body > p svg { flex-shrink:0; align-self:flex-start; margin-top:4px; }
.location-actions { padding-top:20px; border-top:1px solid var(--site-line); gap:10px; }
.campus-button { min-height:46px; align-items:center; justify-content:center; text-align:center; border-radius:12px; padding:11px 17px; line-height:1.4; font-weight:650; }
.campus-button-primary { box-shadow:0 4px 12px #1b52991a; }
.campus-button-secondary { background:var(--site-soft); color:var(--cms-primary); border:1px solid #d0deee; }
.campus-button-whatsapp { background:#00856c; color:#fff; }
.record-gallery { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:22px; }
.record-gallery-thumbs { gap:8px; margin:0; }
.record-gallery-thumbs button { width:72px; height:58px; border:2px solid #fff; border-radius:10px; box-shadow:0 0 0 1px var(--site-line); flex-shrink:0; }
.record-gallery-open { min-height:44px; background:var(--site-soft); border:1px solid #ccdaec; border-radius:12px; color:var(--cms-primary); padding:10px 16px; }
.record-gallery-status { flex-basis:100%; margin:0; }
.location-catalogue-section { padding-top:24px; border-top:1px solid var(--site-line); }
#locationSpacesGrid,#locationGallery > .grid,#pricingGrid,#spacesGrid,#featuredSpacesGrid,#featuredLocationsGrid { min-width:0; }
#featuredLocationsGrid .location-cover { height:240px; }
#featuredLocationsGrid .location-card-body { padding:24px; }
[data-photo-card] { min-width:0; }
[data-photo-card] :is(a,button).bg-brandBlue,[data-photo-card] :is(a,button).bg-brandRed { min-height:46px; align-items:center; justify-content:center; }
.photo-card-shadow { box-shadow:0 10px 30px #1634510c; }
.location-context { box-shadow:0 8px 28px #18395806; }
.location-context select { min-height:50px; border-radius:12px; }
.location-context-nav a,.gallery-category-button,[data-filter],[data-billing] { min-height:44px; }
input:not([type=checkbox]):not([type=radio]),select,textarea { max-width:100%; }
button,a { -webkit-tap-highlight-color:transparent; }
button:disabled { cursor:wait; }
::selection { background:#cbdff7; color:#112c47; }
/* Keep page tabs visible on laptops; give them their own row when space is tight. */
.page-return { max-width:1280px; margin:0 auto; padding:12px 24px; }
.page-return a { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid var(--site-line); border-radius:10px; color:var(--cms-primary); background:#fff; font-size:14px; font-weight:600; }
#mobileMenuBtn .menu-label { font-size:13px; font-weight:600; }
@media(min-width:1024px) {
    body > header .site-nav { display:flex !important; flex-wrap:wrap; }
    #mobileMenuBtn,#mobileMenu { display:none !important; }
}
@media(min-width:1024px) and (max-width:1399px) {
    html { scroll-padding-top:150px; }
    body > header .h-20 { flex-wrap:wrap; height:auto; padding-top:12px; gap:8px 20px; }
    body > header .h-20 > div { margin-left:auto; }
    body > header .site-nav { order:3; flex-basis:100%; justify-content:center; gap:4px 24px; border-top:1px solid var(--site-line); padding:4px 0; font-size:14px; }
}
@media(max-width:1023px) {
    body > header .site-nav { display:none !important; }
    #mobileMenuBtn { display:inline-flex !important; align-items:center; justify-content:center; gap:6px; flex-shrink:0; border:1px solid var(--site-line); }
    #mobileMenu:not(.hidden) { display:block !important; }
    .page-return { padding:10px 16px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
    .campus-button,.record-gallery-open { transition:background-color .18s,box-shadow .18s,transform .18s; }
    .campus-button:hover,.record-gallery-open:hover { transform:translateY(-2px); box-shadow:0 6px 16px #12395618; }
    .campus-button-secondary:hover { background:#dfeaf7; }
    .campus-button-whatsapp:hover { background:#006e58; }
}
@media(max-width:767px) {
    html { scroll-padding-top:88px; }
    body > header .h-20 { height:72px; gap:12px; }
    body > header [data-bind="tagline"] { font-size:9px; letter-spacing:.08em; }
    :is(body,body > main) > section { padding-top:40px; padding-bottom:40px; }
    :is(body,body > main) > section h1 { font-size:clamp(1.9rem,7vw,2.8rem); }
    :is(body,body > main) > section h2 { font-size:clamp(1.6rem,6vw,2rem); }
    #hero { padding-top:32px; }
    #hero > div > .grid { gap:28px; }
    #heroDescription { font-size:1rem; }
    #hero h1 { font-size:clamp(2.05rem,8.5vw,3.1rem); line-height:1.15; }
    #hero .album-book-edge { padding:8px; border-left-width:3px; transform:none; }
    #heroImage { max-height:350px; object-fit:cover; }
    #heroBtnPrimary,#heroBtnSecondary { justify-content:center; width:100%; min-height:50px; padding:13px 18px; }
    #heroStats { gap:8px; padding-top:20px; }
    #heroStats p:first-child { font-size:1.35rem; }
    #heroStats p:last-child { font-size:.65rem; letter-spacing:.03em; }
    .location-cover,#featuredLocationsGrid .location-cover { height:auto; aspect-ratio:4/3; }
    .location-card-body,#featuredLocationsGrid .location-card-body { padding:20px; }
    .location-card-body h3 { font-size:1.4rem; line-height:1.25; }
    .location-card-body > p { font-size:.925rem; }
    .location-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .campus-button { padding:12px 10px; font-size:.875rem; }
    .campus-button-primary { grid-column:1/-1; grid-row:1; }
    .location-actions a[href*="contact.html"] { grid-column:1/-1; }
    .location-actions a[href*="brochure"] { grid-column:1/-1; }
    .record-gallery { gap:12px; }
    .record-gallery-thumbs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; }
    .record-gallery-thumbs button { width:100%; height:auto; aspect-ratio:4/3; }
    .record-gallery-open { width:100%; }
    .location-context { border-radius:18px; padding:18px; }
    #amenities .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    #amenities .grid > div { padding:18px 12px; }
    #pricingGrid,#spacesGrid,#featuredSpacesGrid,#featuredLocationsGrid,#locationSpacesGrid { grid-template-columns:minmax(0,1fr); }
    input:not([type=checkbox]):not([type=radio]),select,textarea { font-size:16px; }
    body > footer { padding-top:32px; padding-bottom:28px; }
}
@media(max-width:359px) {
    .location-card-body,#featuredLocationsGrid .location-card-body { padding:16px; }
    .location-actions { grid-template-columns:minmax(0,1fr); }
    body > header [data-bind="tagline"] { max-width:180px; }
}
.hero-album-choice { margin:16px 4px 0; padding:16px; border-radius:14px; background:#f0f5fc; color:#183b64; }
.hero-album-choice label { display:block; font-size:13px; font-weight:700; margin-bottom:8px; }
.hero-album-choice select { display:block; width:100%; min-width:0; min-height:48px; padding:10px 30px 10px 12px; border:1px solid #b9cde5; border-radius:10px; background:#fff; font-size:16px; color:#183b64; text-overflow:ellipsis; }
.hero-album-choice p { margin:8px 0 0; font-size:12px; line-height:1.6; }
.hero-album-choice button { margin-top:10px; min-height:44px; padding:8px 16px; border-radius:8px; background:#20569c; color:white; }
.hero-album-choice select:focus-visible,#heroAlbumOpen:focus-visible { outline:3px solid #20569c; outline-offset:3px; }
#heroAlbumOpen:disabled { opacity:.5; cursor:wait; }
@media(max-width:400px) {
    body > header .h-20 > a { min-width:0; flex-shrink:1; }
    #siteLogoBoxHeader { width:40px; height:40px; }
    body > header [data-bind="tagline"] { font-size:8px; letter-spacing:.04em; }
}

/* architecture.css */
/* Architectural theme: original styling inspired by the supplied ROKU reference.
   CMS colours, content, links and photo collections remain the source of truth. */
body.architecture-theme { --site-line:#d6d4ce; --site-soft:#f0eee8; --site-ink:var(--cms-text-color); }
.architecture-theme :is(h1,h2,h3,h4) { font-family:inherit; }
.architecture-theme > header { background:#faf9f6; backdrop-filter:none; border-color:#d6d4ce; box-shadow:none; }
.architecture-theme > header > div:first-child { max-width:1600px; }
.architecture-theme > header .h-20 { min-height:88px; }
.architecture-theme > header .site-nav { text-transform:uppercase; font-size:11px; letter-spacing:.07em; gap:18px; }
.architecture-theme .site-nav a { padding-block:16px; }
.architecture-theme .site-nav a[aria-current=page]::after { height:2px; background:var(--cms-accent); }
.architecture-theme #siteLogoBoxHeader { border-radius:0; box-shadow:none; background:transparent!important; }
.architecture-theme > header :is(a,button).rounded-lg { border-radius:0; box-shadow:none; }
.architecture-theme > header .bg-emerald-600 { background:#171918; }
.architecture-theme > header .bg-brandRed { background:var(--cms-accent)!important; }
.architecture-theme #mobileMenuBtn { border-radius:0; border-color:#171918; }
.architecture-theme #mobileMenu a { border-radius:0; border-bottom:1px solid var(--site-line); text-transform:uppercase; letter-spacing:.06em; }
:is(.architecture-theme,.architecture-theme > main) > section:not(#hero) { padding-block:96px; border-color:var(--site-line); }
:is(.architecture-theme,.architecture-theme > main) > section > .max-w-7xl { max-width:1440px; padding-inline:clamp(20px,5vw,80px); }
:is(.architecture-theme,.architecture-theme > main) > section :is(h1,h2) { text-transform:uppercase; letter-spacing:-.055em; font-weight:600; line-height:1.04; text-wrap:balance; }
:is(.architecture-theme,.architecture-theme > main) > section h1 { font-size:clamp(2.6rem,5.5vw,5.8rem); }
:is(.architecture-theme,.architecture-theme > main) > section h2 { font-size:clamp(2.2rem,4.5vw,4.6rem); }
:is(.architecture-theme,.architecture-theme > main) > section h3 { letter-spacing:-.035em; font-weight:600; }
:is(.architecture-theme,.architecture-theme > main) > section :is(.text-gray-500,.text-gray-600) { color:#575b57; }
.architecture-theme :is(.campus-button,.record-gallery-open,.location-context-nav a,.filter-btn,[data-filter],[data-billing],.page-return a) { border-radius:0; box-shadow:none; }
.architecture-theme :is(a,button):is(.rounded-lg,.rounded-xl) { border-radius:0; }
.architecture-theme :is(a,button).bg-brandBlue { box-shadow:none; }
.architecture-theme #hero { padding:0 0 64px; background:var(--cms-page-background)!important; }
.architecture-theme #hero > div { max-width:none; padding:0; }
.architecture-theme #hero > div > .grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:0; align-items:start; }
.architecture-theme #hero > div > .grid > div:first-child,
.architecture-theme #hero > div > .grid > div:last-child,
.architecture-theme #hero .album-book-edge { display:contents; }
.architecture-theme #hero > div > .grid > div:first-child > * { margin:0; }
.architecture-theme #hero > div > .grid > div:first-child > div:first-child { grid-area:1/1/2/-1; z-index:2; justify-self:start; align-self:start; margin:36px clamp(20px,5vw,80px); border:0; border-radius:0; background:transparent; color:#fff; font-size:11px; letter-spacing:.16em; padding:0; }
.architecture-theme #hero > div > .grid > div:first-child > div:first-child svg { color:#ffb158; }
.architecture-theme #hero h1 { grid-area:1/1/2/-1; z-index:1; align-self:center; padding:120px clamp(20px,5vw,80px); min-height:640px; display:flex; flex-direction:column; justify-content:center; width:100%; max-width:1300px; color:#ffb158; font-size:clamp(3rem,6.6vw,6.7rem); line-height:.99; font-weight:500; text-transform:uppercase; letter-spacing:-.055em; text-align:left; text-wrap:balance; pointer-events:none; }
.architecture-theme #hero h1 br { display:none; }
.architecture-theme #heroTitleHighlight { color:#ffb158!important; font-family:inherit; font-style:normal; }
.architecture-theme #hero .album-book-edge > div:first-child { grid-area:1/1/2/-1; height:100%; min-height:640px; border-radius:0; }
.architecture-theme #heroImage { position:absolute; inset:0; width:100%; height:100%; max-height:none; object-fit:cover; object-position:center 48%; transform:none!important; }
.architecture-theme #hero > div > .grid > div:first-child > div:first-child { color:#fff!important; }
.architecture-theme #hero .album-book-edge > div:first-child > .absolute.inset-0 { background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.35) 65%,rgba(0,0,0,.16)); }
.architecture-theme #hero .album-book-edge > div:first-child > .space-y-2 { display:none; }
.architecture-theme #heroAlbumOpen { z-index:3; top:auto; right:clamp(20px,5vw,80px); bottom:28px; width:56px; height:56px; display:grid; place-items:center; border-radius:50%; color:#151715; background:#ffb158; box-shadow:none; }
.architecture-theme #heroAlbumOpen::before { content:'EXPLORE THE ALBUM'; position:absolute; right:72px; width:max-content; color:#fff; font-size:11px; font-weight:600; letter-spacing:.12em; }
.architecture-theme #heroDescription { grid-area:2/1/3/8; max-width:none; padding:48px clamp(20px,5vw,80px) 36px; font-size:1.04rem; line-height:1.8; }
.architecture-theme #hero > div > .grid > div:first-child > .flex { grid-area:2/8/3/-1; padding:48px clamp(20px,5vw,80px) 32px 0; align-items:start; }
.architecture-theme #heroBtnPrimary,.architecture-theme #heroBtnSecondary { min-height:52px; border-radius:0; box-shadow:none; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.architecture-theme #heroStats { grid-area:3/1/4/8; margin:0 clamp(20px,5vw,80px)!important; padding:24px 0 0; border-color:var(--site-line); text-align:left; gap:20px; }
.architecture-theme #heroStats p:first-child { font-size:clamp(1.8rem,3vw,3rem); letter-spacing:-.06em; font-weight:500; color:var(--cms-text-color); }
.architecture-theme #heroStats p:last-child { font-size:10px; letter-spacing:.07em; }
.architecture-theme .hero-album-choice { grid-area:3/8/4/-1; margin:0 clamp(20px,5vw,80px) 0 0; padding:20px; border:1px solid var(--site-line); background:transparent; border-radius:0; color:var(--cms-text-color); }
.architecture-theme .hero-album-choice select { border-radius:0; border-color:var(--site-line); color:var(--cms-text-color); }
.architecture-theme .hero-album-choice p { color:#575b57; }
.architecture-theme #hero .album-book-edge > div:last-child { display:none; }
.architecture-theme #about { background:#fff; }
.architecture-theme #about > div { gap:72px; align-items:center; }
.architecture-theme #about img { width:100%; height:100%; object-fit:cover; }
.architecture-theme #about > div > div:first-child { border-radius:0; height:560px; }
.architecture-theme #aboutHeading:empty { display:none; }
.architecture-theme #aboutDescription { font-size:1.05rem; line-height:1.9; }
.architecture-theme :is(#featuredSpacesGrid,#spacesGrid,#galleryGrid,#featuredLocationsGrid,#pricingGrid) { gap:28px; }
.architecture-theme :is([data-photo-card],.location-card,.photo-card-shadow,#pricingGrid > div) { border-radius:0; box-shadow:none; border-color:var(--site-line); }
.architecture-theme :is([data-photo-card],.photo-card-shadow):hover { transform:none; box-shadow:none; }
.architecture-theme :is(#featuredSpacesGrid,#spacesGrid) .record-photo-cover,
.architecture-theme #galleryGrid > div > button { height:300px; }
.architecture-theme :is(#featuredSpacesGrid,#spacesGrid) > [data-photo-card] > :is(button,a) { height:auto; min-height:48px; flex-shrink:0; background:var(--cms-primary); color:var(--cms-button-text); border-color:var(--cms-primary); }
.architecture-theme .location-cover { height:400px; border-radius:0; }
.architecture-theme #featuredLocationsGrid .location-cover { height:340px; }
.architecture-theme .location-card-body { padding:28px; }
.architecture-theme .location-badge { border-radius:0; background:#eeece6; color:var(--cms-text-color); font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.architecture-theme .campus-button-secondary,.architecture-theme .record-gallery-open { color:var(--cms-primary); background:#f2f0eb; border-color:var(--site-line); }
.architecture-theme .record-gallery-thumbs button { border-radius:0; box-shadow:none; border:1px solid var(--site-line); }
.architecture-theme #amenities { background:#171918!important; color:#f7f5ef; }
.architecture-theme #amenities :is(h2,h3,h4) { color:#f7f5ef; }
.architecture-theme #amenities .text-brandRed { color:#ffb158!important; }
.architecture-theme #amenities :is(.text-gray-500,.text-gray-600) { color:#caccc7; }
.architecture-theme #amenities .grid { gap:0; border-top:1px solid #424540; border-left:1px solid #424540; }
.architecture-theme #amenities .grid > div { background:transparent; border:0; border-right:1px solid #424540; border-bottom:1px solid #424540; border-radius:0; padding:30px 18px; box-shadow:none; }
.architecture-theme #amenities .grid > div > div { background:transparent; color:#ffb158; border-radius:0; }
.architecture-theme #pricingGrid > div { padding:32px; }
.architecture-theme #pricingGrid .rounded-full { border-radius:0; }
.architecture-theme .location-context { max-width:none; border-radius:0; border-color:var(--site-line); background:#f3f1eb; box-shadow:none; }
.architecture-theme .location-context :is(select,a) { border-radius:0; border-color:var(--site-line); }
.architecture-theme .location-context-nav a { color:var(--cms-primary); }
.architecture-theme .location-context-nav a[aria-current=page] { background:var(--cms-primary); color:var(--cms-button-text); }
.architecture-theme #locationContext nav a { border-radius:0; border-color:var(--site-line); box-shadow:none; color:var(--cms-primary); }
.architecture-theme #locationContext nav a[aria-current=page] { background:var(--cms-primary); color:var(--cms-button-text); }
.architecture-theme #filterContainer { border-radius:0; border-color:var(--site-line); box-shadow:none; background:#f3f1eb; }
.architecture-theme #galleryGrid [class*="bg-brandBlue/"] { background:var(--cms-primary); border-radius:0; }
.architecture-theme .filter-btn { min-height:46px; }
.architecture-theme :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { border-radius:0; }
.architecture-theme > footer { background:#171918; color:#fff; padding-block:72px; }
.architecture-theme > footer :is(.text-gray-300,.text-gray-400) { color:#ced1ca; }
.architecture-theme > footer h4 { color:#ffb158; letter-spacing:.08em; }
.architecture-theme > footer h4.text-brandRed { color:#ffb158!important; }
.architecture-theme > footer .text-gray-500 { color:#c4c8c1; }
.architecture-theme :is(a,button).bg-emerald-600 { background:#047857; }
.architecture-theme > footer > div { max-width:1440px; }
.architecture-theme .brand-footer { background:#f4f2ec; border-color:var(--site-line); }
.architecture-theme .page-return a { border:0; background:transparent; padding-left:0; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
    .architecture-theme :is(.campus-button,.record-gallery-open,#heroBtnPrimary,#heroBtnSecondary) { transition:background-color .2s,transform .2s; }
    .architecture-theme :is(.campus-button,#heroBtnPrimary,#heroBtnSecondary):hover { transform:translateY(-2px); }
}
@media(max-width:1399px) and (min-width:1024px) {
    .architecture-theme > header .h-20 { min-height:76px; }
    .architecture-theme > header .site-nav { gap:0 24px; }
}
@media(max-width:1023px) {
    .architecture-theme #hero h1 { min-height:570px; font-size:clamp(3rem,8vw,5.5rem); }
    .architecture-theme #hero .album-book-edge > div:first-child { min-height:570px; }
    .architecture-theme #heroDescription { grid-area:2/1/3/-1; padding:32px 24px 20px; }
    .architecture-theme #hero > div > .grid > div:first-child > .flex { grid-area:3/1/4/-1; padding:8px 24px 32px; }
    .architecture-theme #heroStats { grid-area:4/1/5/-1; margin:0 24px!important; }
    .architecture-theme .hero-album-choice { grid-area:5/1/6/-1; margin:28px 24px 0; }
    .architecture-theme #about > div { gap:32px; }
    .architecture-theme #about > div > div:first-child { height:400px; }
}
@media(max-width:767px) {
    .architecture-theme > header .h-20 { min-height:72px; height:72px; }
    :is(.architecture-theme,.architecture-theme > main) > section:not(#hero) { padding-block:56px; }
    :is(.architecture-theme,.architecture-theme > main) > section > .max-w-7xl { padding-inline:20px; }
    .architecture-theme #hero { padding-bottom:40px; }
    .architecture-theme #hero h1 { min-height:540px; padding:95px 20px 105px; font-size:clamp(2.6rem,10vw,4.6rem); letter-spacing:-.05em; line-height:1.06; }
    .architecture-theme #hero .album-book-edge > div:first-child { min-height:540px; }
    .architecture-theme #hero > div > .grid > div:first-child > div:first-child { margin:28px 20px; font-size:10px; }
    .architecture-theme #heroDescription { padding-inline:20px; font-size:.95rem; line-height:1.8; }
    .architecture-theme #hero > div > .grid > div:first-child > .flex { padding-inline:20px; gap:10px; }
    .architecture-theme #heroStats { margin-inline:20px!important; gap:12px; }
    .architecture-theme #heroStats p:first-child { font-size:2rem; }
    .architecture-theme #heroStats p:last-child { font-size:9px; }
    .architecture-theme .hero-album-choice { margin-inline:20px; padding:16px; }
    .architecture-theme #heroBtnPrimary,.architecture-theme #heroBtnSecondary { width:100%; min-height:50px; }
    .architecture-theme #about > div > div:first-child { height:330px; }
    .architecture-theme #aboutDescription { font-size:1rem; line-height:1.85; }
    .architecture-theme .location-cover,.architecture-theme #featuredLocationsGrid .location-cover { height:auto; aspect-ratio:4/3; }
    .architecture-theme .location-card-body,.architecture-theme #featuredLocationsGrid .location-card-body { padding:20px; }
    .architecture-theme :is(#featuredSpacesGrid,#spacesGrid) .record-photo-cover,
    .architecture-theme #galleryGrid > div > button { height:260px; }
    .architecture-theme #pricingGrid > div { padding:24px; }
    .architecture-theme > footer { padding-block:48px; }
}

/* button-motion.css */
/* A rising colour wash reverses smoothly, including midway through a hover. */
.motion-button { position:relative; isolation:isolate; overflow:hidden; --button-wash:105%; --button-lift:0px; --button-scale:1; transform:none!important; translate:0 var(--button-lift); scale:var(--button-scale); }
.motion-button::after { content:''; position:absolute; inset:0; z-index:-1; background:currentColor; opacity:.14; border-radius:inherit; transform:translateY(var(--button-wash)); pointer-events:none; }
.motion-button svg { transition:translate .3s cubic-bezier(.2,.8,.2,1); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .motion-button:hover svg { translate:3px 0; }
}
.motion-button:focus-visible { outline:3px solid var(--cms-accent,#b94800); outline-offset:4px; }
.motion-button:focus-visible svg { translate:3px 0; }
@media (prefers-reduced-motion:no-preference) {
    .motion-pressed { scale:.98!important; }
}
@media (prefers-reduced-motion:reduce) {
    .motion-button::after { display:none; }
    .motion-button svg { transition:none; translate:none; }
}

/* hero.css */
/* Keep the introduction together and let the photo follow its natural height. */
#heroPhotoMotion { position:absolute; inset:0; overflow:hidden; }
#heroPhotoMotion > img { width:100%; height:100%; object-fit:cover; }
#heroPhotoFrame { background:#deded6; isolation:isolate; }
.hero-photo-animate #heroPhotoMotion { animation:hero-camera 3.8s cubic-bezier(.2,.55,.35,1) both; }
.hero-photo-paused #heroPhotoMotion { animation-play-state:paused; }
@keyframes hero-camera {
 from { transform:scale(1.045) translate3d(-.3%,.2%,0); }
 to { transform:scale(1) translate3d(0,0,0); }
}
.architecture-theme #hero { padding:40px clamp(20px,4vw,64px) 48px; }
.architecture-theme #hero > div { max-width:1440px; margin:auto; }
.architecture-theme #hero > div > .grid { column-gap:clamp(24px,3.6vw,56px); row-gap:24px; align-items:start; }
.architecture-theme #hero > div > .grid > div:first-child > div:first-child { grid-area:1/1/2/7; margin:0; color:var(--cms-text-color)!important; font-size:10px; letter-spacing:.13em; }
.architecture-theme #hero > div > .grid > div:first-child > div:first-child svg { color:var(--cms-accent); }
.architecture-theme #hero h1 { grid-area:2/1/3/7; min-height:0; padding:0; max-width:none; color:var(--cms-text-color); font-size:clamp(2.4rem,3.9vw,4.2rem); line-height:1.05; font-weight:550; letter-spacing:-.055em; text-wrap:balance; align-self:start; }
.architecture-theme #heroTitleHighlight { color:var(--cms-accent)!important; margin-top:.2em; }
.architecture-theme #hero .album-book-edge > div:first-child { grid-area:1/7/5/-1; min-height:0; height:100%; border:1px solid #17191814; border-radius:4px; }
.architecture-theme #hero .album-book-edge > div:first-child > .absolute.inset-0 { background:linear-gradient(180deg,transparent 68%,#0d191c99); pointer-events:none; }
.architecture-theme #heroImage { object-position:center; }
.architecture-theme #heroAlbumOpen { right:20px; bottom:20px; width:44px; height:44px; background:#fff; color:#17211d; }
.architecture-theme #heroAlbumOpen::before { content:'VIEW CAMPUS ALBUM'; right:56px; font-size:10px; letter-spacing:.08em; }
.architecture-theme #heroDescription { grid-area:3/1/4/7; padding:0; font-size:.96rem; line-height:1.7; max-width:62ch; }
.architecture-theme #hero > div > .grid > div:first-child > .flex { grid-area:4/1/5/7; padding:0; gap:12px; align-items:center; }
.architecture-theme #heroBtnPrimary,.architecture-theme #heroBtnSecondary { padding-inline:20px; }
.architecture-theme #heroStats { grid-area:5/1/6/7; margin:8px 0 0!important; padding-top:20px; }
.architecture-theme #heroStats p:first-child { font-size:clamp(1.5rem,2.5vw,2.5rem); }
.architecture-theme .hero-album-choice { grid-area:5/7/6/-1; margin:8px 0 0; padding:16px 20px; background:#ffffff70; }
@media(max-width:1023px) {
 .architecture-theme #hero { padding:28px 24px 40px; }
 .architecture-theme #hero > div > .grid { column-gap:0; row-gap:22px; }
 .architecture-theme #hero > div > .grid > div:first-child > div:first-child { grid-area:1/1/2/-1; margin:0; }
 .architecture-theme #hero h1 { grid-area:2/1/3/-1; max-width:800px; font-size:clamp(2.3rem,6.1vw,4rem); }
 .architecture-theme #hero .album-book-edge > div:first-child { grid-area:3/1/4/-1; height:440px; }
 .architecture-theme #hero > div > .grid > div:first-child > .flex { grid-area:4/1/5/-1; }
 .architecture-theme #heroDescription { grid-area:5/1/6/-1; max-width:none; }
 .architecture-theme #heroStats { grid-area:6/1/7/-1; }
 .architecture-theme .hero-album-choice { grid-area:7/1/8/-1; margin:0; }
}
@media(max-width:767px) {
 .architecture-theme #hero { padding:24px 20px 32px; }
 .architecture-theme #hero h1 { font-size:clamp(2rem,8vw,3rem); line-height:1.08; }
 .architecture-theme #hero .album-book-edge > div:first-child { height:330px; }
 .architecture-theme #heroDescription { font-size:.94rem; }
 .architecture-theme #heroAlbumOpen { right:16px; bottom:16px; }
 .architecture-theme #heroAlbumOpen::before { font-size:9px; }
 .architecture-theme #heroStats p:last-child { font-size:9px; letter-spacing:.03em; }
}
@media(prefers-reduced-motion:reduce) { .hero-photo-animate #heroPhotoMotion { animation:none; } }
@media print { #heroPhotoMotion { animation:none!important; } }

/* pages.css */
/* Shared editorial layout. CMS typography, colours and content remain editable. */
.architecture-theme { --page-radius:16px; }
.architecture-theme main > .page-intro:not(#hero) { padding-block:44px 32px; background:var(--cms-page-background); }
.architecture-theme .page-intro > div { text-align:left; }
.architecture-theme .page-intro h1 { font-size:clamp(2.25rem,4.2vw,3.8rem); line-height:1.12; letter-spacing:-.045em; text-transform:none; max-width:22ch; margin-top:10px; }
.architecture-theme .page-intro p { font-size:1rem; line-height:1.7; }
.architecture-theme .page-intro > div > p { margin-left:0; max-width:65ch; }
.architecture-theme main > .page-content:not(#hero) { padding-block:32px 72px; }
.page-content { min-height:640px; }
.location-context-slot { display:flow-root; margin-top:24px; min-height:118px; }
.location-context-slot .location-context { margin:0!important; }
.workspace-filters:empty { min-height:44px; margin-bottom:20px; }
.architecture-theme .page-return { border-bottom:1px solid var(--site-line); }
.architecture-theme main > section:not(#hero) h2 { font-size:clamp(1.9rem,3.4vw,3.2rem); line-height:1.15; text-transform:none; letter-spacing:-.04em; }
.architecture-theme main > :is(#about,#spaces,#album,#featuredLocations,#pricing,#amenities) { padding-block:72px; }
.architecture-theme #about > div { gap:clamp(28px,5vw,64px); }
.architecture-theme #about > div > div:first-child { height:480px; border-radius:var(--page-radius); overflow:hidden; }
.architecture-theme #aboutDescription { font-size:1rem; line-height:1.8; white-space:pre-line; }
.architecture-theme .location-context { display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,1fr); column-gap:28px; row-gap:8px; text-align:left; padding:20px 24px; margin:24px 0 0; border:1px solid var(--site-line); border-radius:12px; background:var(--site-soft); box-shadow:none; }
.architecture-theme .location-context label { grid-column:1; margin:0; font-size:.75rem; letter-spacing:.04em; }
.architecture-theme .location-context select { grid-column:1; width:100%; min-height:48px; font-size:1rem; border-radius:8px; padding:12px; background:#fff; }
.architecture-theme .location-context .location-context-note { grid-column:2; grid-row:1 / 3; align-self:center; margin:0; max-width:42ch; font-size:.875rem; }
.architecture-theme .location-context nav { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.architecture-theme .location-context nav a { min-height:44px; padding:10px 14px; border-radius:7px; background:#fff; border:1px solid var(--site-line); font-size:.8125rem; color:var(--cms-primary); }
.architecture-theme .location-context nav a[aria-current=page] { background:var(--cms-primary); border-color:var(--cms-primary); color:var(--cms-button-text); }
.architecture-theme .gallery-filter-layout { display:grid; grid-template-columns:1fr; gap:20px; }
.architecture-theme .gallery-category-panel { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; }
.architecture-theme .gallery-filter-label { margin-bottom:10px; font-size:.75rem; letter-spacing:.06em; }
.architecture-theme #filterContainer { background:transparent; padding:0; }
.architecture-theme :is(.workspace-filters,[aria-label="Billing period"],#filterContainer) { gap:8px; }
.architecture-theme [aria-label="Billing period"] { margin-bottom:28px; }
.architecture-theme :is(.workspace-filters button,[data-billing],.filter-btn) { min-height:44px; border:1px solid var(--site-line); border-radius:8px; padding:10px 17px; background:#fff; color:var(--cms-text-color); font-size:.875rem; font-weight:600; }
.architecture-theme :is(.workspace-filters button,[data-billing],.filter-btn)[aria-pressed=true],
.architecture-theme .filter-btn.active-filter { background:var(--cms-primary); color:var(--cms-button-text); border-color:var(--cms-primary); }
.architecture-theme :is(#spacesGrid,#galleryGrid,#pricingGrid) { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; align-items:stretch; }
.architecture-theme :is(#locationsGrid,#featuredLocationsGrid) { max-width:none; gap:28px; }
.architecture-theme #locationsGrid:not(:has(.location-catalogue-section)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.architecture-theme #locationsGrid > .dynamic-empty { grid-column:1 / -1; }
.architecture-theme :is([data-photo-card],.photo-card-shadow,#pricingGrid > div,.campus-contact-card) { border-radius:var(--page-radius); border:1px solid var(--site-line); box-shadow:0 8px 30px #17191806; overflow:hidden; }
.architecture-theme :is(#featuredSpacesGrid,#spacesGrid,#locationSpacesGrid) .record-photo-cover { aspect-ratio:4/3; height:auto; width:100%; }
/* Keep facility previews compact on both Home and the public album. */
.architecture-theme #galleryGrid > div > button { aspect-ratio:16/9; height:auto; max-height:300px; width:100%; }
.architecture-theme #galleryGrid > div > button img { object-fit:cover; object-position:center; }
/* Black labels at rest; white on an accent background for hover/focus. */
.architecture-theme > header :is(.site-nav a,#mobileMenu > a) { color:#000!important; transition:color .2s ease,background-color .2s ease; }
.architecture-theme > header .site-nav a { padding-inline:8px; }
.architecture-theme .filter-btn:not([aria-pressed=true]):not(.active-filter) { color:#000; }
.architecture-theme > header :is(.site-nav a,#mobileMenu > a):focus-visible,
.architecture-theme #filterContainer .filter-btn:focus-visible { color:#fff!important; background:var(--cms-accent,#b94800); }
@media (hover:hover) {
 .architecture-theme > header :is(.site-nav a,#mobileMenu > a):hover,
 .architecture-theme #filterContainer .filter-btn:hover { color:#fff!important; background:var(--cms-accent,#b94800); }
}
.architecture-theme :is(#locationsGrid,#featuredLocationsGrid) .location-cover { aspect-ratio:16/10; height:auto; }
.architecture-theme :is(.location-card-body,#pricingGrid > div) { padding:26px; }
.architecture-theme .location-card-body h3 { font-size:1.5rem; line-height:1.3; letter-spacing:-.025em; }
.architecture-theme .location-card-body p { line-height:1.7; }
.architecture-theme .location-actions { gap:8px; }
.architecture-theme :is(.campus-button,.record-gallery-open,.campus-contact-actions a) { border-radius:8px; min-height:46px; font-size:.8125rem; padding:11px 15px; }
.architecture-theme .location-badge { border-radius:5px; padding:6px 10px; }
.architecture-theme .record-gallery-thumbs button { border-radius:7px; }
.architecture-theme :is(#spacesGrid,#featuredSpacesGrid) > [data-photo-card] > :is(button,a) { border-radius:8px; }
.architecture-theme #pricingGrid > div { display:flex; flex-direction:column; overflow:visible; transform:none; }
.architecture-theme #pricingGrid > div > a:last-child { margin-top:auto; border-radius:8px; min-height:48px; display:flex; align-items:center; justify-content:center; }
.architecture-theme #pricingGrid ul { margin-bottom:28px; }
.architecture-theme #pricingGrid .rounded-full { border-radius:6px; }
.architecture-theme .contact-cards { max-width:1440px; padding-inline:clamp(20px,5vw,80px); gap:28px; }
.architecture-theme .contact-cards-single { max-width:940px; }
.architecture-theme .campus-contact-card { padding:30px; border-top:3px solid var(--cms-accent); }
.architecture-theme main > section:not(#hero) .campus-contact-card h2 { font-size:1.6rem; }
.architecture-theme .location-catalogue-section { padding-top:24px; border-top:1px solid var(--site-line); }
.architecture-theme .campus-contact-card iframe { border-radius:10px; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.campus-contact-actions a.contact-whatsapp { background:#007c5c; color:#fff; }
.campus-contact-actions a.contact-whatsapp:hover { background:#00664c; }
.architecture-theme .dynamic-empty { padding:40px 24px; background:var(--site-soft); border:1px dashed var(--site-line); border-radius:12px; text-align:center; }
@media (max-width:1023px) {
 .architecture-theme #mobileMenu { max-height:calc(100dvh - 88px); }
}
.architecture-theme :is(a,button,select):focus-visible { outline:3px solid var(--cms-accent); outline-offset:4px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .architecture-theme :is(.record-photo-cover,.location-cover,#galleryGrid > div > button) img { transition:transform .65s cubic-bezier(.2,.7,.2,1); }
 .architecture-theme :is(.record-photo-cover,.location-cover,#galleryGrid > div > button):hover img { transform:scale(1.035); }
 .architecture-theme :is([data-photo-card],.campus-contact-card) { transition:box-shadow .25s,border-color .25s; }
 .architecture-theme :is([data-photo-card],.campus-contact-card):hover { box-shadow:0 12px 32px #1719180c; border-color:#aaa9a3; }
}
body:not(.cms-effects) :is(.record-photo-cover,.location-cover,#galleryGrid > div > button) img { transition:none!important; transform:none!important; }
@media (max-width:767px) {
 .architecture-theme #galleryGrid > div > button { aspect-ratio:16/10; max-height:240px; }
 .location-context-slot { margin-top:20px; min-height:164px; }
 .architecture-theme main > .page-intro:not(#hero) { padding-block:28px 24px; }
 .architecture-theme .page-intro h1 { font-size:clamp(2rem,8.5vw,2.8rem); max-width:22ch; }
 .architecture-theme .page-intro p { font-size:.9375rem; }
 .architecture-theme main > .page-content:not(#hero) { padding-block:24px 48px; }
 .architecture-theme main > :is(#about,#spaces,#album,#featuredLocations,#pricing,#amenities) { padding-block:48px; }
 .architecture-theme #about > div > div:first-child { height:340px; }
 .architecture-theme .location-context { grid-template-columns:1fr; padding:16px; gap:8px; margin-top:20px; }
 .architecture-theme .location-context .location-context-note { grid-column:1; grid-row:auto; font-size:.8125rem; }
 .architecture-theme .location-context nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .architecture-theme .location-context nav a { text-align:center; }
 .architecture-theme #locationsGrid:not(:has(.location-catalogue-section)),
 .architecture-theme :is(#spacesGrid,#pricingGrid,#galleryGrid) { grid-template-columns:1fr; gap:20px; }
 .architecture-theme :is(.location-card-body,#pricingGrid > div,.campus-contact-card) { padding:22px; }
 .architecture-theme .location-card-body h3 { font-size:1.35rem; }
 .architecture-theme .location-actions .campus-button { flex:1 1 140px; }
 .architecture-theme :is(.workspace-filters,[aria-label="Billing period"],#filterContainer) { display:flex; flex-wrap:wrap; gap:8px; }
 .architecture-theme :is(.workspace-filters button,[data-billing],.filter-btn) { flex:1 1 auto; padding:10px 12px; }
 .architecture-theme #filterContainer .filter-btn { width:auto; flex:1 1 calc(50% - 8px); }
 .architecture-theme #filterContainer .filter-btn:first-child { flex-basis:100%; }
 .architecture-theme .contact-cards { grid-template-columns:1fr; gap:20px; }
}
