@import url("https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Cormorant+Infant:ital,wght@0,400;0,500;1,400;1,500&family=Public+Sans:ital,wght@0,400;0,600;0,700;1,400&family=Funnel+Display:wght@400;600;700&family=Instrument+Serif:ital@0;1&display=swap");
/* Inter Tight is self-hosted (latin and latin-ext; variable 400-700 plus italic 400), so the static site renders it offline.
   Files and licence (SIL OFL 1.1, inter-tight-OFL.txt) are in _next/static/media; the static build copies them to assets/fonts. */
@font-face{font-family:"Inter Tight";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/inter-tight-latin-ext-italic.woff2) format("woff2");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 Tight";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/inter-tight-latin-italic.woff2) format("woff2");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 Tight";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-tight-latin-ext.woff2) format("woff2");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 Tight";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-tight-latin.woff2) format("woff2");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 Tight";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-tight-latin-ext.woff2) format("woff2");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 Tight";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-tight-latin.woff2) format("woff2");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 Tight";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-tight-latin-ext.woff2) format("woff2");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 Tight";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-tight-latin.woff2) format("woff2");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-weight:400 900;font-display:swap;src:url(../fonts/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/28a2004cf8372660-s.woff2) format("woff2");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-weight:400 900;font-display:swap;src:url(../fonts/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_0a80b4{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.__variable_0a80b4{--font-playfair:"Playfair Display","Playfair Display Fallback"}*,: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:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | 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:Helvetica Now Display,Helvetica Neue,Helvetica,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}html{scroll-behavior:auto}body{font-family:Helvetica Now Display,Helvetica Neue,Helvetica,Arial,sans-serif;background-color:#F6F2F1;color:#2A2725;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:rgba(145,166,115,.3);color:#2A2725}::selection{background-color:rgba(145,166,115,.3);color:#2A2725}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#F6F2F1}::-webkit-scrollbar-thumb{background:#AE8F60;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#91A673}.brand-blog,.brand-homepage{& h1,& h2,& h3,& h4,& h5,& h6{font-family:Palatino,Palatino Linotype,Book Antiqua,Georgia,serif}&::-moz-selection{background-color:rgba(145,166,115,.3);color:#3A4A3F}&::selection{background-color:rgba(145,166,115,.3);color:#3A4A3F}}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-6{bottom:-1.5rem}.-left-6{left:-1.5rem}.-right-4{right:-1rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.bottom-\[-4px\]{bottom:-4px}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-3{right:.75rem}.right-5{right:1.25rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}.mx-auto{margin-left:auto;margin-right:auto}.-mt-20{margin-top:-5rem}.-mt-8{margin-top:-2rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[21\/9\]{aspect-ratio:21/9}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1/1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-32{height:8rem}.h-48{height:12rem}.h-64{height:16rem}.h-\[100dvh\]{height:100dvh}.h-\[180px\]{height:180px}.h-\[1px\]{height:1px}.h-\[320px\]{height:320px}.h-\[400px\]{height:400px}.h-\[80vh\]{height:80vh}.h-\[85vh\]{height:85vh}.h-\[92vh\]{height:92vh}.h-\[calc\(100dvh-80px\)\]{height:calc(100dvh - 80px)}.h-auto{height:auto}.h-full{height:100%}.min-h-\[100dvh\]{min-height:100dvh}.min-h-\[400px\]{min-height:400px}.min-h-\[600px\]{min-height:600px}.min-h-\[700px\]{min-height:700px}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-36{width:9rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[260px\]{width:260px}.w-\[90vw\]{width:90vw}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[140px\]{min-width:140px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[800px\]{max-width:800px}.max-w-\[900px\]{max-width:900px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-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-x-2{--tw-translate-x:-0.5rem}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-0{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-x-0{--tw-translate-x:0px}.translate-x-2{--tw-translate-x:0.5rem}.translate-x-2,.translate-x-full{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-x-full{--tw-translate-x:100%}.rotate-180{--tw-rotate:180deg}.rotate-180,.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-grab{cursor:grab}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.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-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.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-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(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 * calc(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 * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-4{border-width:4px}.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-t-2{border-top-width:2px}.border-\[rgba\(174\2c 143\2c 96\2c 0\.15\)\]{border-color:rgba(174,143,96,.15)}.border-brand-charcoal\/10{border-color:rgb(42 39 37/.1)}.border-brand-charcoal\/20{border-color:rgb(42 39 37/.2)}.border-brand-charcoal\/5{border-color:rgb(42 39 37/.05)}.border-brand-forest\/10{border-color:rgb(58 74 63/.1)}.border-brand-forest\/30{border-color:rgb(58 74 63/.3)}.border-brand-tan{--tw-border-opacity:1;border-color:rgb(174 143 96/var(--tw-border-opacity,1))}.border-brand-tan\/15{border-color:rgb(174 143 96/.15)}.border-brand-white{--tw-border-opacity:1;border-color:rgb(246 242 241/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:rgb(255 255 255/.1)}.border-white\/20{border-color:rgb(255 255 255/.2)}.border-white\/30{border-color:rgb(255 255 255/.3)}.border-white\/40{border-color:rgb(255 255 255/.4)}.bg-\[\#0B1D3A\]{--tw-bg-opacity:1;background-color:rgb(11 29 58/var(--tw-bg-opacity,1))}.bg-\[rgba\(174\2c 143\2c 96\2c 0\.1\)\]{background-color:rgba(174,143,96,.1)}.bg-\[rgba\(246\2c 242\2c 241\2c 0\.9\)\]{background-color:rgba(246,242,241,.9)}.bg-brand-charcoal{--tw-bg-opacity:1;background-color:rgb(42 39 37/var(--tw-bg-opacity,1))}.bg-brand-charcoal\/20{background-color:rgb(42 39 37/.2)}.bg-brand-charcoal\/95{background-color:rgb(42 39 37/.95)}.bg-brand-cream{--tw-bg-opacity:1;background-color:rgb(234 226 211/var(--tw-bg-opacity,1))}.bg-brand-forest{--tw-bg-opacity:1;background-color:rgb(58 74 63/var(--tw-bg-opacity,1))}.bg-brand-sage{--tw-bg-opacity:1;background-color:rgb(145 166 115/var(--tw-bg-opacity,1))}.bg-brand-sage\/10{background-color:rgb(145 166 115/.1)}.bg-brand-sage\/15{background-color:rgb(145 166 115/.15)}.bg-brand-sage\/20{background-color:rgb(145 166 115/.2)}.bg-brand-tan{--tw-bg-opacity:1;background-color:rgb(174 143 96/var(--tw-bg-opacity,1))}.bg-brand-tan\/0{background-color:rgb(174 143 96/0)}.bg-brand-tan\/10{background-color:rgb(174 143 96/.1)}.bg-brand-tan\/40{background-color:rgb(174 143 96/.4)}.bg-brand-white{--tw-bg-opacity:1;background-color:rgb(246 242 241/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/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-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:rgb(255 255 255/.1)}.bg-white\/40{background-color:rgb(255 255 255/.4)}.bg-white\/50{background-color:rgb(255 255 255/.5)}.bg-white\/90{background-color:rgb(255 255 255/.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-\[rgba\(11\2c 29\2c 58\2c 0\.4\)\]{--tw-gradient-from:rgba(11,29,58,0.4) var(--tw-gradient-from-position);--tw-gradient-to:rgba(11,29,58,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[rgba\(42\2c 39\2c 37\2c 0\.3\)\]{--tw-gradient-from:rgba(42,39,37,0.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(42,39,37,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[rgba\(42\2c 39\2c 37\2c 0\.4\)\]{--tw-gradient-from:rgba(42,39,37,0.4) var(--tw-gradient-from-position);--tw-gradient-to:rgba(42,39,37,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[rgba\(42\2c 39\2c 37\2c 0\.8\)\]{--tw-gradient-from:rgba(42,39,37,0.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(42,39,37,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/60{--tw-gradient-from:rgb(0 0 0/0.6) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-charcoal\/80{--tw-gradient-from:rgb(42 39 37/0.8) var(--tw-gradient-from-position);--tw-gradient-to:rgb(42 39 37/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-white\/90{--tw-gradient-from:rgb(246 242 241/0.9) var(--tw-gradient-from-position);--tw-gradient-to:rgb(246 242 241/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[rgba\(11\2c 29\2c 58\2c 0\.5\)\]{--tw-gradient-to:rgba(11,29,58,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(11,29,58,0.5) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[rgba\(42\2c 39\2c 37\2c 0\.4\)\]{--tw-gradient-to:rgba(42,39,37,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(42,39,37,0.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[rgba\(42\2c 39\2c 37\2c 0\.5\)\]{--tw-gradient-to:rgba(42,39,37,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(42,39,37,0.5) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-brand-charcoal\/30{--tw-gradient-to:rgb(42 39 37/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(42 39 37/0.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[rgba\(11\2c 29\2c 58\2c 0\.9\)\]{--tw-gradient-to:rgba(11,29,58,0.9) var(--tw-gradient-to-position)}.to-\[rgba\(42\2c 39\2c 37\2c 0\.95\)\]{--tw-gradient-to:rgba(42,39,37,0.95) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.fill-emerald-500{fill:#10b981}.fill-emerald-600{fill:#059669}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.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-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.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-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-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.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}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-5{padding-left:1.25rem}.pr-8{padding-right:2rem}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-body,.font-display,.font-sans{font-family:Helvetica Now Display,Helvetica Neue,Helvetica,Arial,sans-serif}.font-serif{font-family:Palatino,Palatino Linotype,Book Antiqua,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-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[9px\]{font-size:9px}.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-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.0\]{line-height:1}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#0B1D3A\]{--tw-text-opacity:1;color:rgb(11 29 58/var(--tw-text-opacity,1))}.text-brand-charcoal{--tw-text-opacity:1;color:rgb(42 39 37/var(--tw-text-opacity,1))}.text-brand-charcoal\/30{color:rgb(42 39 37/.3)}.text-brand-charcoal\/40{color:rgb(42 39 37/.4)}.text-brand-charcoal\/50{color:rgb(42 39 37/.5)}.text-brand-charcoal\/60{color:rgb(42 39 37/.6)}.text-brand-charcoal\/70{color:rgb(42 39 37/.7)}.text-brand-charcoal\/80{color:rgb(42 39 37/.8)}.text-brand-charcoal\/90{color:rgb(42 39 37/.9)}.text-brand-cream{--tw-text-opacity:1;color:rgb(234 226 211/var(--tw-text-opacity,1))}.text-brand-forest{--tw-text-opacity:1;color:rgb(58 74 63/var(--tw-text-opacity,1))}.text-brand-forest\/60{color:rgb(58 74 63/.6)}.text-brand-forest\/70{color:rgb(58 74 63/.7)}.text-brand-sage{--tw-text-opacity:1;color:rgb(145 166 115/var(--tw-text-opacity,1))}.text-brand-tan{--tw-text-opacity:1;color:rgb(174 143 96/var(--tw-text-opacity,1))}.text-brand-tan\/20{color:rgb(174 143 96/.2)}.text-brand-tan\/30{color:rgb(174 143 96/.3)}.text-brand-tan\/40{color:rgb(174 143 96/.4)}.text-brand-tan\/70{color:rgb(174 143 96/.7)}.text-brand-white{--tw-text-opacity:1;color:rgb(246 242 241/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/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))}.text-white\/20{color:rgb(255 255 255/.2)}.text-white\/30{color:rgb(255 255 255/.3)}.text-white\/40{color:rgb(255 255 255/.4)}.text-white\/50{color:rgb(255 255 255/.5)}.text-white\/60{color:rgb(255 255 255/.6)}.text-white\/70{color:rgb(255 255 255/.7)}.text-white\/80{color:rgb(255 255 255/.8)}.text-white\/90{color:rgb(255 255 255/.9)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-\[0\.03\]{opacity:.03}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0/0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.blur{--tw-blur:blur(8px)}.blur,.brightness-0{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)}.brightness-0{--tw-brightness:brightness(0)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgb(0 0 0/0.1)) drop-shadow(0 1px 1px rgb(0 0 0/0.06))}.drop-shadow,.grayscale{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)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.invert,.sepia{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)}.sepia{--tw-sepia:sepia(100%)}.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{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-\[16px\]{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-\[16px\]{--tw-backdrop-blur:blur(16px)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{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{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.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-shadow{transition-property:box-shadow;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-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-\[2000ms\]{transition-duration:2s}.duration-\[400ms\]{transition-duration:.4s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}.glass{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2)}.glass,.glass-light{backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2)}.glass-light{background:rgba(246,242,241,.7);border:1px solid rgba(234,226,211,.5)}.section-light{background-color:#F6F2F1}.section-cream{background-color:#EAE2D3}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(42,39,37,.12)}@keyframes marquee-left{0%{transform:translateX(0)}to{transform:translateX(-33.333%)}}@keyframes marquee-right{0%{transform:translateX(-33.333%)}to{transform:translateX(0)}}.animate-marquee-left{animation:marquee-left linear infinite}.animate-marquee-right{animation:marquee-right linear infinite}@keyframes slow-zoom{0%{transform:scale(1) translate(0)}50%{transform:scale(1.08) translate(-1%,-1%)}to{transform:scale(1) translate(0)}}.animate-slow-zoom{animation:slow-zoom 20s ease-in-out infinite}@keyframes slow-pan{0%{transform:scale(1.1) translateX(0)}50%{transform:scale(1.1) translateX(-3%)}to{transform:scale(1.1) translateX(0)}}.animate-slow-pan{animation:slow-pan 25s ease-in-out infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .3s ease-out forwards}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1:hover,.hover\:-translate-y-1\.5: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\:-translate-y-1\.5:hover{--tw-translate-y:-0.375rem}.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\:gap-2:hover{gap:.5rem}.hover\:gap-3:hover{gap:.75rem}.hover\:border-brand-tan\/30:hover{border-color:rgb(174 143 96/.3)}.hover\:bg-\[rgba\(174\2c 143\2c 96\2c 0\.05\)\]:hover{background-color:rgba(174,143,96,.05)}.hover\:bg-brand-charcoal:hover{--tw-bg-opacity:1;background-color:rgb(42 39 37/var(--tw-bg-opacity,1))}.hover\:bg-brand-charcoal\/40:hover{background-color:rgb(42 39 37/.4)}.hover\:bg-brand-forest:hover{--tw-bg-opacity:1;background-color:rgb(58 74 63/var(--tw-bg-opacity,1))}.hover\:bg-brand-sage:hover{--tw-bg-opacity:1;background-color:rgb(145 166 115/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/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-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:rgb(255 255 255/.1)}.hover\:bg-white\/60:hover{background-color:rgb(255 255 255/.6)}.hover\:text-brand-charcoal:hover{--tw-text-opacity:1;color:rgb(42 39 37/var(--tw-text-opacity,1))}.hover\:text-brand-cream:hover{--tw-text-opacity:1;color:rgb(234 226 211/var(--tw-text-opacity,1))}.hover\:text-brand-tan:hover{--tw-text-opacity:1;color:rgb(174 143 96/var(--tw-text-opacity,1))}.hover\:text-emerald-300:hover{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.hover\:text-emerald-400:hover{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-white\/70:hover{color:rgb(255 255 255/.7)}.hover\:text-white\/80:hover{color:rgb(255 255 255/.8)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-60:hover{opacity:.6}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 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-lg:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.active\:cursor-grabbing:active{cursor:grabbing}.group[open] .group-open\:rotate-180{--tw-rotate:180deg;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\:w-full{width:100%}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:scale-105,.group:hover .group-hover\:scale-110{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\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:gap-2{gap:.5rem}.group:hover .group-hover\:gap-3{gap:.75rem}.group:hover .group-hover\:bg-brand-tan\/20{background-color:rgb(174 143 96/.2)}.group:hover .group-hover\:text-brand-tan{--tw-text-opacity:1;color:rgb(174 143 96/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:768px){.md\:-right-8{right:-2rem}.md\:left-6{left:1.5rem}.md\:right-6{right:1.5rem}.md\:-mt-32{margin-top:-8rem}.md\:mb-16{margin-bottom:4rem}.md\:block{display:block}.md\:inline-flex{display:inline-flex}.md\:aspect-\[3\/1\]{aspect-ratio:3/1}.md\:h-20{height:5rem}.md\:h-24{height:6rem}.md\:h-\[200px\]{height:200px}.md\:h-\[400px\]{height:400px}.md\:h-\[85vh\]{height:85vh}.md\:w-1\/2{width:50%}.md\:w-48{width:12rem}.md\:w-\[280px\]{width:280px}.md\:w-\[85vw\]{width:85vw}.md\:-translate-x-6{--tw-translate-x:-1.5rem}.md\:-translate-x-6,.md\:translate-x-6{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\:translate-x-6{--tw-translate-x:1.5rem}.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-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-12{gap:3rem}.md\:gap-4{gap:1rem}.md\:gap-8{gap:2rem}.md\:p-12{padding:3rem}.md\:p-8{padding:2rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:pb-24{padding-bottom:6rem}.md\:pb-28{padding-bottom:7rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-start-1{grid-row-start:1}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:aspect-auto{aspect-ratio:auto}.lg\:h-full{height:100%}.lg\:w-1\/3{width:33.333333%}.lg\:grid-flow-dense{grid-auto-flow:dense}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[55\%_45\%\]{grid-template-columns:55% 45%}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:gap-16{gap:4rem}.lg\:gap-20{gap:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-8xl{font-size:6rem;line-height:1}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}
/* Gallery bento grid: 12 tiles; features 2x2, portraits 1x2, landscapes 1x1 */
.gallery-bento-wrap{container-type:inline-size}
.gallery-bento{--cols:2;--gap:.75rem;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-auto-rows:calc((100cqw - (var(--cols) - 1)*var(--gap))/var(--cols)*.75);grid-auto-flow:dense;gap:var(--gap)}
.gallery-bento>.bento-feature{grid-column:span 2;grid-row:span 2}
.gallery-bento>.bento-portrait{grid-row:span 2}
@media (min-width:768px){.gallery-bento{--cols:3;--gap:1rem}.gallery-bento>:last-child{grid-column:span 2}}
@media (min-width:1024px){.gallery-bento{--cols:4}.gallery-bento>:last-child{grid-column:auto}}

/* Brand cards: equal cards, 1 / 2 / 3 columns (client, 2026-10-09: 3-column grid); the link row sits at the bottom of each card */
.stay-bento{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.stay-bento>*{display:flex;flex-direction:column}
.stay-bento>*>:first-child{flex-shrink:0}
.stay-bento>*>:last-child{flex:1 1 auto;display:flex;flex-direction:column}
.stay-bento>*>:last-child>:last-child{margin-top:auto}
@media (min-width:768px){.stay-bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.stay-bento{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Philosophy section: photo beside the headline and a list of five question rows; stacks below 1024px */
.philo-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}
.philo-layout>*{min-width:0}
.philo-media{aspect-ratio:3/2;width:100%}
.philo-head{margin-bottom:2rem}
.philo-list{border-top:1px solid rgb(42 39 37/.12)}
.philo-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.125rem 0;border-bottom:1px solid rgb(42 39 37/.12);transition:padding .3s}
.philo-row:hover{padding-left:.5rem}
.philo-row>span{display:flex;flex-direction:column;gap:.375rem}
.philo-row>svg{flex-shrink:0}
.philo-closing{margin-top:2rem;font-size:1.125rem;line-height:1.5}
@media (min-width:1024px){.philo-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem;align-items:center}.philo-layout>:first-child{order:2}.philo-media{aspect-ratio:1/1}}

/* ---- Homepage colour roles ----
   Surfaces: base #F6F2F1, alt #EAE2D3, deep #3A4A3F, feature #91A673 (one section), anchor #2A2725 (footer).
   Ink: headings forest and body charcoal on light surfaces; #F6F2F1 / cream on dark.
   Tan #AE8F60 is for fills, rules and icons; as text only on dark surfaces. */
.brand-homepage :is(h1,h2,h3,h4).text-brand-charcoal{color:#3A4A3F}
.brand-homepage :is(.text-brand-charcoal\/60,.text-brand-charcoal\/70,.text-brand-charcoal\/80){color:rgb(42 39 37/.8)}
.brand-homepage :is(.text-brand-charcoal\/40,.text-brand-charcoal\/50){color:rgb(42 39 37/.72)}
.brand-homepage .text-white{color:#F6F2F1}
.brand-homepage .text-white\/20{color:rgb(246 242 241/.2)}
.brand-homepage .text-white\/30{color:rgb(246 242 241/.3)}
.brand-homepage .text-white\/40{color:rgb(246 242 241/.4)}
.brand-homepage .text-white\/60{color:rgb(246 242 241/.7)}
.brand-homepage .text-white\/70{color:rgb(246 242 241/.7)}
.brand-homepage .text-white\/80{color:rgb(246 242 241/.8)}
.brand-homepage .text-white\/90{color:rgb(246 242 241/.9)}
.brand-homepage .text-white\/50{color:rgb(246 242 241/.7)}
.brand-homepage .bg-white{background-color:#F6F2F1}
.brand-homepage .border-white{border-color:#F6F2F1}
.brand-homepage .surface-base .bg-white{background-color:#EAE2D3}
.brand-homepage :is(.surface-base,.surface-alt) :is(h2,h3,p).text-white{color:#3A4A3F}
.brand-homepage :is(.surface-base,.surface-alt) p:is(.text-white\/60,.text-white\/70){color:rgb(42 39 37/.8)}
.brand-homepage :is(.surface-base,.surface-alt,.surface-feature,.bg-white) .text-brand-tan:not(svg){color:#3A4A3F}
.brand-homepage :is(.surface-base,.surface-alt,.surface-feature) span.text-brand-tan.uppercase:not(.philo-row *)::before{content:"";display:inline-block;width:1.5rem;height:1px;margin-right:.75rem;vertical-align:middle;background-color:#AE8F60}
.brand-homepage .surface-feature :is(h1,h2,h3,h4).text-brand-charcoal:not(.bg-white *),.brand-homepage .surface-feature :is(.text-brand-charcoal\/40,.text-brand-charcoal\/50,.text-brand-charcoal\/60,.text-brand-charcoal\/70,.text-brand-charcoal\/80,.text-brand-tan:not(svg)):not(.bg-white *){color:#2A2725}
.brand-homepage .surface-deep .cta-content h2{color:#F6F2F1}
.brand-homepage .surface-deep .cta-content p{color:rgb(234 226 211/.85)}
.brand-homepage .bg-brand-tan,.brand-homepage .bg-brand-tan.text-white{color:#2A2725}
.brand-homepage footer,.brand-homepage footer *{border-color:rgb(246 242 241/.12)}
.brand-homepage footer .text-white\/40{color:rgb(246 242 241/.6)}
.brand-homepage .surface-deep span.text-brand-tan.uppercase{color:#EAE2D3}
.brand-homepage .surface-deep span.text-brand-tan.uppercase::before{content:"";display:inline-block;width:1.5rem;height:1px;margin-right:.75rem;vertical-align:middle;background-color:#AE8F60}
.brand-homepage nav[class*="backdrop-blur"] .text-brand-tan{color:#3A4A3F}

/* Residence "The Experience" bento: 6 photos. Stacked: feature / two talls / wide / small tall + wide.
   Desktop (20 cols): tall | feature | tall, then wide | tall | wide. Row heights come from the landscape tiles. */
.exp-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.exp-bento>*{min-height:0}
.exp-bento>.exp-feature,.exp-bento>.exp-wide{grid-column:span 6;aspect-ratio:16/10}
.exp-bento>.exp-tall{grid-column:span 3;aspect-ratio:3/4}
.exp-bento>.exp-small{grid-column:span 2;aspect-ratio:auto}
.exp-bento>.exp-last{grid-column:span 4;aspect-ratio:4/3}
@media (min-width:1024px){.exp-bento{grid-template-columns:repeat(20,minmax(0,1fr))}.exp-bento>.exp-lead{order:-1}.exp-bento>.exp-feature{grid-column:span 10;aspect-ratio:4/3}.exp-bento>.exp-tall{grid-column:span 5;aspect-ratio:auto}.exp-bento>.exp-wide,.exp-bento>.exp-last{grid-column:span 8;aspect-ratio:4/3}.exp-bento>.exp-small{grid-column:span 4}}

/* ---- Puri Canggu Rooms brand (guideline 2026) ----
   Palette: green #6E9C6C, turquoise #6C9B8B, olive #8C9833, orange #E2A052, pastel orange #F1CA93, white.
   Brand colours are fills; text stays charcoal because none of them passes contrast as small text on white.
   Type: headlines stand in for ZT Bros Oskon 90s (Schibsted Grotesk), H2/body for Helvetica Now Display (Inter Tight). */
.brand-rooms{--r-green:#6E9C6C;--r-turq:#6C9B8B;--r-olive:#8C9833;--r-orange:#E2A052;--r-sand:#F1CA93;--r-sand-tint:#FAECD9;--r-ink:#2A2725;--r-head:"ZT Bros Oskon 90s","Schibsted Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;--r-body:"Helvetica Now Display","Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;background-color:#fff}
.brand-rooms section,.brand-rooms .elementor-widget-pcl-offers-ticker>a{font-family:var(--r-body);letter-spacing:-.02em}
.brand-rooms section h1{font-family:var(--r-head);font-weight:600;letter-spacing:-.03em;font-size:clamp(2.75rem,6.4vw,5.5rem);line-height:1.02;color:#fff;max-width:14ch}
.brand-rooms section h2{font-family:var(--r-body);font-weight:700;letter-spacing:-.05em;color:var(--r-ink)}
.brand-rooms section h2 em{font-family:var(--r-head);font-weight:500;letter-spacing:-.03em;text-decoration:underline;text-decoration-color:var(--r-orange);text-decoration-thickness:.1em;text-underline-offset:.16em}
.brand-rooms section h3{font-family:var(--r-body);font-weight:700;letter-spacing:-.03em;text-transform:none;font-size:1.125rem}
.brand-rooms section :is(a,span).uppercase,.brand-rooms .elementor-widget-pcl-offers-ticker>a .uppercase{text-transform:none;letter-spacing:-.01em}
/* hero */
.brand-rooms .hero-parallax-img+div{background-image:linear-gradient(to bottom,rgb(42 39 37/.1) 0%,rgb(42 39 37/.32) 30%,rgb(42 39 37/.62) 62%,rgb(42 39 37/.84) 100%)}
.brand-logo-badge{align-self:flex-start;background:#fff;border-radius:.875rem;padding:.75rem 1.125rem;margin-bottom:1.5rem;box-shadow:0 10px 30px rgb(0 0 0/.2)}
.brand-logo-badge img{display:block;height:3rem;width:auto}
.brand-rooms .elementor-widget-pcl-brand-hero>section>div>span.text-brand-cream{align-self:flex-start;background:var(--r-orange);color:var(--r-ink);font-size:.875rem;font-weight:600;padding:.35rem .9rem;border-radius:999px}
.brand-rooms .elementor-widget-pcl-brand-hero>section>div>p.italic{font-style:normal;font-weight:400;color:#fff;max-width:36rem;font-size:1.125rem;line-height:1.5}
.brand-rooms section .text-white\/60{color:rgb(255 255 255/.85)}
.brand-rooms section .text-white\/60 svg{color:var(--r-sand)}
.brand-hero-ctas{display:flex;flex-direction:column;gap:.75rem;margin-top:1.75rem}
.brand-btn{display:inline-block;text-align:center;font-weight:700;font-size:.95rem;letter-spacing:-.01em;padding:.9rem 1.75rem;border-radius:999px;transition:all .3s}
.brand-btn-primary{background-color:var(--r-orange);color:var(--r-ink)}
.brand-btn-primary:hover{background-color:var(--r-sand);transform:translateY(-2px)}
.brand-btn-ghost{border:1.5px solid #fff;color:#fff}
.brand-btn-ghost:hover{background-color:#fff;color:var(--r-ink)}
@media (min-width:640px){.brand-hero-ctas{flex-direction:row}}
@media (min-width:768px){.brand-logo-badge img{height:3.75rem}.brand-rooms .elementor-widget-pcl-brand-hero>section>div>p.italic{font-size:1.25rem}}
/* offers strip */
.brand-rooms .elementor-widget-pcl-offers-ticker>a.bg-brand-tan{background-color:var(--r-orange)}
.brand-rooms .elementor-widget-pcl-offers-ticker>a.bg-brand-tan:hover{background-color:var(--r-sand)}
.brand-rooms .elementor-widget-pcl-offers-ticker>a.bg-brand-tan :is(.text-white,.text-white\/90){color:var(--r-ink)}
.brand-rooms .elementor-widget-pcl-offers-ticker>a.bg-brand-tan .bg-white\/50{background-color:rgb(42 39 37/.4)}
/* sections */
.brand-rooms section.bg-brand-white{background-color:#fff}
.brand-rooms section.bg-brand-cream{background-color:var(--r-sand-tint)}
.brand-rooms section.brand-cta{background-color:var(--r-sand)}
.brand-rooms section.brand-stay{background-color:var(--r-green)}
.brand-rooms section.brand-stay p{color:var(--r-ink)}
.brand-rooms section.brand-stay h2 em{text-decoration-color:#fff}
.brand-rooms section.brand-stay .brand-btn-primary{background-color:#fff}
.brand-rooms section.brand-stay .brand-btn-primary:hover{background-color:var(--r-sand)}
.brand-rooms section :is(.text-brand-charcoal\/60,.text-brand-charcoal\/50){color:rgb(42 39 37/.8)}
.brand-rooms section p.text-brand-charcoal\/90{font-family:var(--r-head);font-weight:500;letter-spacing:-.03em;color:var(--r-ink)}
.brand-nearby{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:2rem}
.brand-nearby span{font-size:.875rem;padding:.4rem .95rem;border-radius:999px;background-color:var(--r-sand-tint);color:var(--r-ink)}
/* feature cards: icon on a brand-colour disc, cycling through the palette */
.brand-rooms section .grid>.group{border-radius:1rem}
.brand-rooms section .grid>.group>.text-brand-tan{color:var(--r-ink)}
.brand-rooms section .grid>.group>.text-brand-tan svg{box-sizing:content-box;padding:.7rem;border-radius:999px;background-color:var(--r-sand)}
.brand-rooms section .grid>.group:nth-child(4n+2)>.text-brand-tan svg{background-color:var(--r-green)}
.brand-rooms section .grid>.group:nth-child(4n+3)>.text-brand-tan svg{background-color:var(--r-orange)}
.brand-rooms section .grid>.group:nth-child(4n)>.text-brand-tan svg{background-color:var(--r-turq)}
/* promise block */
.brand-rooms section .text-brand-tan\/30{display:none}
.brand-rooms section p.italic.text-brand-charcoal{font-family:var(--r-head);font-weight:500;letter-spacing:-.03em}
/* contact */
.brand-rooms section .text-brand-sage{color:var(--r-ink)}
.brand-rooms section .bg-brand-sage\/15{background-color:#fff}
.brand-rooms section a.bg-brand-tan{background-color:var(--r-orange);color:var(--r-ink);border-radius:999px;font-size:.95rem}
.brand-rooms section a.bg-brand-tan:hover{background-color:#fff}
.brand-rooms section a.border{border-radius:999px;border-color:var(--r-ink);font-size:.95rem}
.brand-rooms section a.text-brand-tan{color:var(--r-ink);text-decoration:underline}
.brand-rooms .elementor-widget-pcl-brand-hero>section h1,.brand-rooms .elementor-widget-pcl-brand-hero>section>div>p.italic{text-shadow:0 2px 18px rgb(0 0 0/.35)}
/* Rooms hero: sizes follow the viewport height so the content always clears the nav bar */
.brand-rooms .elementor-widget-pcl-brand-hero>section{height:auto;min-height:100dvh;display:flex;flex-direction:column}
.brand-rooms .elementor-widget-pcl-brand-hero>section>div.z-10{flex:1 1 auto;height:auto;width:100%;padding-top:6.75rem;padding-bottom:clamp(2rem,8vh,5.5rem)}
.brand-rooms .elementor-widget-pcl-brand-hero>section h1{font-size:clamp(2.5rem,min(6vw,10.5vh),5rem);margin-bottom:.75rem}
.brand-rooms .elementor-widget-pcl-brand-hero>section .brand-logo-badge{padding:.5rem .85rem;margin-bottom:1rem;border-radius:.75rem}
.brand-rooms .elementor-widget-pcl-brand-hero>section .brand-logo-badge img{height:clamp(2.25rem,6vh,3.25rem)}
.brand-rooms .elementor-widget-pcl-brand-hero>section>div>span.text-brand-cream{margin-bottom:.75rem}
.brand-rooms .elementor-widget-pcl-brand-hero>section>div>p.italic{margin-bottom:1rem}
.brand-rooms .elementor-widget-pcl-brand-hero>section .brand-hero-ctas{margin-top:1.25rem}
/* Rooms colour tone v2: every surface is one of the five brand colours (green, turquoise, olive, orange, pastel orange).
   White is kept only for cards and the logo badge. Text is a deep shade of the brand green, since the palette has no dark. */
.brand-rooms{--r-ink:#182B1A;background-color:var(--r-sand-tint)}
.brand-rooms section .text-brand-charcoal,.brand-rooms section .text-brand-charcoal\/90{color:var(--r-ink)}
.brand-rooms section :is(.text-brand-charcoal\/60,.text-brand-charcoal\/50){color:rgb(24 43 26/.86)}
.brand-rooms .hero-parallax-img+div{background-image:linear-gradient(to bottom,rgb(24 43 26/.1) 0%,rgb(24 43 26/.34) 30%,rgb(24 43 26/.64) 62%,rgb(24 43 26/.86) 100%)}
.brand-rooms .elementor-widget-pcl-offers-ticker>a.bg-brand-tan .bg-white\/50{background-color:rgb(24 43 26/.45)}
.brand-rooms .elementor>.e-con:nth-child(3)>.elementor-widget>section{background-color:var(--r-sand-tint)}
.brand-rooms .elementor>.e-con:nth-child(4)>.elementor-widget>section{background-color:var(--r-turq)}
.brand-rooms .elementor>.e-con:nth-child(5)>.elementor-widget>section{background-color:var(--r-sand-tint)}
.brand-rooms .elementor>.e-con:nth-child(6)>.elementor-widget>section{background-color:var(--r-green)}
.brand-rooms .elementor>.e-con:nth-child(7)>.elementor-widget>section{background-color:var(--r-sand-tint)}
.brand-rooms .elementor>.e-con:nth-child(8)>.elementor-widget>section{background-color:var(--r-olive)}
.brand-rooms .elementor>.e-con:nth-child(8)>.elementor-widget>section>.absolute{display:none}
.brand-rooms .elementor>.e-con:nth-child(9)>.elementor-widget>section{background-color:var(--r-sand)}
.brand-rooms .elementor>.e-con:nth-child(4)>.elementor-widget>section h2 em{text-decoration-color:var(--r-sand)}
.brand-rooms section.brand-stay h2 em{text-decoration-color:var(--r-sand)}
.brand-rooms section.brand-stay .brand-btn-primary{background-color:var(--r-sand)}
.brand-rooms section.brand-stay .brand-btn-primary:hover{background-color:var(--r-orange)}
.brand-nearby span{background-color:var(--r-sand)}
.brand-rooms section .grid>.group{border-color:transparent}
.brand-rooms section .grid>.group:nth-child(4n)>.text-brand-tan svg{background-color:var(--r-olive)}
.brand-rooms section a.bg-brand-tan:hover{background-color:var(--r-green)}
.brand-rooms .elementor>.e-con:nth-child(8)>.elementor-widget>section :is(.text-brand-charcoal\/50,.text-brand-charcoal\/60),.brand-rooms section.brand-stay p{color:var(--r-ink)}
/* Rooms hero logo: no badge, reversed (light) logo straight on the photo */
.brand-rooms .elementor-widget-pcl-brand-hero>section .brand-logo-badge{background:none;box-shadow:none;padding:0;border-radius:0;margin-bottom:1.25rem}
.brand-rooms .elementor-widget-pcl-brand-hero>section .brand-logo-badge img{height:clamp(3rem,9vh,4.75rem);filter:drop-shadow(0 2px 10px rgb(0 0 0/.35))}
.brand-rooms #rooms img[alt$="Garden View"]{object-position:50% 12%}
.exp-bento>*>img{position:absolute;inset:0;width:100%;height:100%}
.brand-rooms .exp-bento>*{border-radius:1rem}
.brand-rooms .elementor-widget-pcl-brand-hero>section h1{white-space:pre-line;max-width:none}
.brand-rooms #rooms h2{margin-bottom:1rem}
.brand-sub{max-width:38rem;margin:0 auto 3rem;text-align:center;font-size:1.0625rem;line-height:1.6;color:rgb(24 43 26/.86)}
.brand-center{display:flex;justify-content:center;margin-top:3rem}

/* ---- Puri Kaja House brand (guideline 2026) ----
   Palette: deep green #384635, gray olive #8B8C6A, dark gray #353535, pastel gray orange #DBCCB7, light green #E3DCCC. No white.
   Gray olive is too pale to carry text, so it is used for rules and borders only.
   Type: Cormorant Infant (regular, uppercase) for headlines, Public Sans for H2 and body. */
.brand-kaja{--k-green:#384635;--k-olive:#8B8C6A;--k-ink:#353535;--k-sand:#DBCCB7;--k-light:#E3DCCC;--k-head:"Cormorant Infant",Georgia,serif;--k-body:"Public Sans","Helvetica Neue",Helvetica,Arial,sans-serif;background-color:var(--k-light)}
.brand-kaja section,.brand-kaja .elementor-widget-pcl-offers-ticker>a{font-family:var(--k-body);letter-spacing:-.02em}
.brand-kaja section h2{font-family:var(--k-body);font-weight:700;letter-spacing:-.05em;color:var(--k-green)}
.brand-kaja section h2 em{font-family:var(--k-head);font-weight:400;font-style:italic;letter-spacing:0;font-size:1.12em}
.brand-kaja section h3{font-family:var(--k-body);font-weight:700;letter-spacing:-.03em;text-transform:none;font-size:1.0625rem;color:var(--k-green)}
.brand-kaja section .text-brand-charcoal{color:var(--k-green)}
.brand-kaja section :is(.text-brand-charcoal\/90,.text-brand-charcoal\/70,.text-brand-charcoal\/60,.text-brand-charcoal\/50){color:var(--k-ink)}
/* hero */
.brand-kaja .elementor-widget-pcl-brand-hero>section{height:auto;min-height:100dvh;display:flex;flex-direction:column}
.brand-kaja .elementor-widget-pcl-brand-hero>section>div.z-10{flex:1 1 auto;height:auto;width:100%;padding-top:6.75rem;padding-bottom:clamp(2rem,8vh,5.5rem)}
.brand-kaja .hero-parallax-img+div{background-image:linear-gradient(to bottom,rgb(56 70 53/.15) 0%,rgb(56 70 53/.4) 35%,rgb(56 70 53/.72) 65%,rgb(56 70 53/.92) 100%)}
.brand-kaja .elementor-widget-pcl-brand-hero>section .brand-logo-badge{align-self:flex-start;background:none;box-shadow:none;padding:0;border-radius:0;margin-bottom:1.5rem}
.brand-kaja .elementor-widget-pcl-brand-hero>section .brand-logo-badge img{display:block;width:auto;height:clamp(3.75rem,11vh,6rem);filter:drop-shadow(0 2px 10px rgb(0 0 0/.3))}
.brand-kaja .elementor-widget-pcl-brand-hero>section>div>span.text-brand-cream{color:var(--k-light);font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}
.brand-kaja .elementor-widget-pcl-brand-hero>section>div>span.text-brand-cream::before{content:"";width:2rem;height:1px;background-color:var(--k-sand)}
.brand-kaja .elementor-widget-pcl-brand-hero>section h1{font-family:var(--k-head);font-weight:400;text-transform:uppercase;letter-spacing:.04em;white-space:pre-line;color:var(--k-light);font-size:clamp(2.25rem,min(5.4vw,9.5vh),4.5rem);line-height:1.05;margin-bottom:1rem;text-shadow:0 2px 18px rgb(0 0 0/.3)}
.brand-kaja .elementor-widget-pcl-brand-hero>section>div>p.italic{font-style:normal;font-weight:400;color:var(--k-light);max-width:36rem;font-size:1.0625rem;line-height:1.6;margin-bottom:1rem;text-shadow:0 2px 18px rgb(0 0 0/.3)}
.brand-kaja .elementor-widget-pcl-brand-hero>section .text-white\/60{color:rgb(227 220 204/.85)}
.brand-kaja .elementor-widget-pcl-brand-hero>section .text-white\/60 svg{color:var(--k-sand)}
.brand-kaja .brand-hero-ctas{margin-top:1.5rem}
.brand-kaja .brand-btn{border-radius:.25rem;font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:1rem 1.75rem}
.brand-kaja .brand-btn-primary{background-color:var(--k-green);color:var(--k-light)}
.brand-kaja .brand-btn-primary:hover{background-color:var(--k-ink);transform:none}
.brand-kaja .elementor-widget-pcl-brand-hero>section .brand-btn-primary,.brand-kaja section.brand-stay .brand-btn-primary{background-color:var(--k-sand);color:var(--k-green)}
.brand-kaja .elementor-widget-pcl-brand-hero>section .brand-btn-primary:hover,.brand-kaja section.brand-stay .brand-btn-primary:hover{background-color:var(--k-light)}
.brand-kaja .brand-btn-ghost{border:1px solid var(--k-light);color:var(--k-light)}
.brand-kaja .brand-btn-ghost:hover{background-color:var(--k-light);color:var(--k-green)}
/* offers strip */
.brand-kaja .elementor-widget-pcl-offers-ticker>a.bg-brand-tan,.brand-kaja .elementor-widget-pcl-offers-ticker>a.bg-brand-tan:hover{background-color:var(--k-green)}
.brand-kaja .elementor-widget-pcl-offers-ticker>a.bg-brand-tan :is(.text-white,.text-white\/90){color:var(--k-light)}
.brand-kaja .elementor-widget-pcl-offers-ticker>a.bg-brand-tan .bg-white\/50{background-color:var(--k-olive)}
.brand-kaja .elementor-widget-pcl-offers-ticker>a.bg-brand-tan .uppercase{letter-spacing:.12em}
/* section surfaces: light green / pastel alternate, deep green for the two feature bands */
.brand-kaja .elementor>.e-con:nth-child(2n+3)>.elementor-widget>section{background-color:var(--k-light)}
.brand-kaja .elementor>.e-con:nth-child(2n+2)>.elementor-widget>section{background-color:var(--k-sand)}
.brand-kaja .elementor>.e-con:nth-child(6)>.elementor-widget>section,.brand-kaja .elementor>.e-con:nth-child(8)>.elementor-widget>section{background-color:var(--k-green)}
.brand-kaja .elementor>.e-con:nth-child(8)>.elementor-widget>section>.absolute,.brand-kaja section .text-brand-tan\/30{display:none}
.brand-kaja .elementor>.e-con:is(:nth-child(6),:nth-child(8))>.elementor-widget>section :is(h2,p,div){color:var(--k-light)}
/* intro */
.brand-kaja section p.text-brand-charcoal\/90{font-family:var(--k-head);font-weight:400;letter-spacing:0;color:var(--k-green);font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.3}
.brand-kaja section p.text-brand-charcoal\/60{line-height:1.75}
/* cards: never white */
.brand-kaja section .grid>.group{border-radius:.5rem;border-color:rgb(139 140 106/.35);box-shadow:none}
.brand-kaja .elementor>.e-con:nth-child(2n+2)>.elementor-widget>section .grid>.group{background-color:var(--k-light)}
.brand-kaja .elementor>.e-con:nth-child(2n+3)>.elementor-widget>section .grid>.group{background-color:var(--k-sand)}
.brand-kaja section .grid>.group>.text-brand-tan{color:var(--k-light)}
.brand-kaja section .grid>.group>.text-brand-tan svg{box-sizing:content-box;padding:.7rem;border-radius:999px;background-color:var(--k-green)}
.brand-kaja section .grid>.group span.text-brand-tan{color:var(--k-green);font-weight:700}
.brand-kaja #rooms h2{margin-bottom:1rem}
.brand-kaja .brand-sub{color:var(--k-ink)}
/* promise */
.brand-kaja section p.italic.text-brand-charcoal{font-family:var(--k-head);font-style:italic;font-weight:400;letter-spacing:0;color:var(--k-light);font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.3}
/* gallery */
.brand-kaja section .grid>.rounded-lg{border-radius:.5rem}
/* contact */
.brand-kaja section .text-brand-sage{color:var(--k-green)}
.brand-kaja section .bg-brand-sage\/15{background-color:var(--k-sand)}
.brand-kaja section a.bg-brand-tan,.brand-kaja section a.bg-brand-tan:hover{background-color:var(--k-green);color:var(--k-light);border-radius:.25rem}
.brand-kaja section a.border{border-color:var(--k-green);color:var(--k-green);border-radius:.25rem}
.brand-kaja section a.border:hover{background-color:var(--k-green);color:var(--k-light)}
.brand-kaja section a.text-brand-tan{color:var(--k-green);text-decoration:underline}
@media (min-width:640px){.brand-kaja .brand-hero-ctas{flex-direction:row}}
@media (max-width:639px){.brand-kaja .elementor-widget-pcl-brand-hero>section h1{font-size:min(7.1vw,9.5vh);letter-spacing:.03em}}
@media (min-width:1024px){.brand-kaja #rooms .grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:60rem;margin-inline:auto}}
.brand-kaja .exp-bento>*{border-radius:.5rem}

/* ---- Warung Dangin brand (guideline 2026) ----
   Palette: yellow #E9AB3A, green #456848, olive #B1BA02, orange #E66A08, light green #839D62, light #FCF5E2. No white.
   Text is the brand green on light surfaces and a deep shade of it on the yellow / light-green ones, where plain green is too faint.
   Type: headlines stand in for Callbro Italic (Instrument Serif Italic); H2 and body are Funnel Display. */
.brand-warung{--w-yellow:#E9AB3A;--w-green:#456848;--w-olive:#B1BA02;--w-orange:#E66A08;--w-lgreen:#839D62;--w-light:#FCF5E2;--w-ink:#22381F;--w-head:"Callbro","Instrument Serif",Georgia,serif;--w-body:"Funnel Display","Helvetica Neue",Helvetica,Arial,sans-serif;background-color:var(--w-light)}
.brand-warung section,.brand-warung .elementor-widget-pcl-offers-ticker>a{font-family:var(--w-body);letter-spacing:-.02em}
.brand-warung section h2{font-family:var(--w-body);font-weight:700;letter-spacing:-.05em;color:var(--w-green)}
.brand-warung section h2 em{font-family:var(--w-head);font-style:italic;font-weight:400;letter-spacing:0;font-size:1.15em}
.brand-warung section h3{font-family:var(--w-body);font-weight:700;letter-spacing:-.03em;text-transform:none;font-size:1.125rem;color:var(--w-green)}
.brand-warung section .text-brand-charcoal{color:var(--w-green)}
.brand-warung section :is(.text-brand-charcoal\/90,.text-brand-charcoal\/70,.text-brand-charcoal\/60,.text-brand-charcoal\/50){color:var(--w-ink)}
/* hero */
.brand-warung .elementor-widget-pcl-brand-hero>section{height:auto;min-height:100dvh;display:flex;flex-direction:column}
.brand-warung .elementor-widget-pcl-brand-hero>section>div.z-10{flex:1 1 auto;height:auto;width:100%;padding-top:6.75rem;padding-bottom:clamp(2rem,8vh,5.5rem)}
.brand-warung .hero-parallax-img+div{background-image:linear-gradient(to bottom,rgb(34 56 31/.15) 0%,rgb(34 56 31/.42) 32%,rgb(34 56 31/.72) 64%,rgb(34 56 31/.9) 100%)}
.brand-warung .elementor-widget-pcl-brand-hero>section .brand-logo-badge{align-self:flex-start;background:none;box-shadow:none;padding:0;border-radius:0;margin-bottom:1.25rem}
.brand-warung .elementor-widget-pcl-brand-hero>section .brand-logo-badge img{display:block;width:auto;height:clamp(3rem,9vh,5rem);filter:drop-shadow(0 2px 10px rgb(0 0 0/.35))}
.brand-warung .elementor-widget-pcl-brand-hero>section>div>span.text-brand-cream{align-self:flex-start;background:var(--w-yellow);color:var(--w-ink);font-size:.875rem;font-weight:700;letter-spacing:-.01em;text-transform:none;padding:.35rem .9rem;border-radius:999px;margin-bottom:.75rem}
.brand-warung .elementor-widget-pcl-brand-hero>section h1{font-family:var(--w-head);font-style:italic;font-weight:400;letter-spacing:0;color:var(--w-light);font-size:clamp(3rem,min(7.2vw,12vh),6rem);line-height:1;margin-bottom:.9rem;text-shadow:0 2px 18px rgb(0 0 0/.35)}
.brand-warung .elementor-widget-pcl-brand-hero>section>div>p.italic{font-style:normal;font-weight:400;color:var(--w-light);max-width:36rem;font-size:1.125rem;line-height:1.55;margin-bottom:1rem;text-shadow:0 2px 18px rgb(0 0 0/.35)}
.brand-warung .elementor-widget-pcl-brand-hero>section .text-white\/60{color:rgb(252 245 226/.88)}
.brand-warung .elementor-widget-pcl-brand-hero>section .text-white\/60 svg{color:var(--w-yellow)}
.brand-warung .brand-hero-ctas{margin-top:1.25rem}
.brand-warung .brand-btn-primary{background-color:var(--w-yellow);color:var(--w-ink)}
.brand-warung .brand-btn-primary:hover{background-color:var(--w-light)}
.brand-warung .brand-btn-ghost{border-color:var(--w-light);color:var(--w-light)}
.brand-warung .brand-btn-ghost:hover{background-color:var(--w-light);color:var(--w-ink)}
/* offers strip */
.brand-warung .elementor-widget-pcl-offers-ticker>a.bg-brand-tan{background-color:var(--w-yellow)}
.brand-warung .elementor-widget-pcl-offers-ticker>a.bg-brand-tan:hover{background-color:var(--w-olive)}
.brand-warung .elementor-widget-pcl-offers-ticker>a.bg-brand-tan :is(.text-white,.text-white\/90){color:var(--w-ink)}
.brand-warung .elementor-widget-pcl-offers-ticker>a.bg-brand-tan .bg-white\/50{background-color:var(--w-orange)}
.brand-warung .elementor-widget-pcl-offers-ticker>a .uppercase{text-transform:none;letter-spacing:-.01em;font-size:.875rem}
/* sections: intro light, dishes light green, gallery light, promise green, contact yellow */
.brand-warung .elementor>.e-con:nth-child(2n+3)>.elementor-widget>section{background-color:var(--w-light)}
.brand-warung .elementor>.e-con:nth-child(4)>.elementor-widget>section{background-color:var(--w-lgreen)}
.brand-warung .elementor>.e-con:nth-child(6)>.elementor-widget>section{background-color:var(--w-green)}
.brand-warung .elementor>.e-con:nth-child(7)>.elementor-widget>section{background-color:var(--w-yellow)}
.brand-warung .elementor>.e-con:nth-child(6)>.elementor-widget>section>.absolute,.brand-warung section .text-brand-tan\/30{display:none}
.brand-warung .elementor>.e-con:nth-child(6)>.elementor-widget>section :is(p,div){color:var(--w-light)}
.brand-warung .elementor>.e-con:is(:nth-child(4),:nth-child(7))>.elementor-widget>section>div>:is(h2,div>div>h2),.brand-warung .elementor>.e-con:nth-child(7)>.elementor-widget>section h2{color:var(--w-ink)}
/* intro */
.brand-warung section p.text-brand-charcoal\/90{font-family:var(--w-head);font-style:italic;font-weight:400;letter-spacing:0;color:var(--w-green);font-size:clamp(1.75rem,3.4vw,2.6rem);line-height:1.2}
.brand-warung section p.text-brand-charcoal\/60{line-height:1.7}
.brand-warung .brand-nearby span{background-color:var(--w-yellow);color:var(--w-ink)}
/* dish cards */
.brand-warung section .grid>.group{background-color:var(--w-light);border-color:transparent;border-radius:1rem}
.brand-warung section .grid>.group>.text-brand-tan{color:var(--w-light)}
.brand-warung section .grid>.group>.text-brand-tan svg{box-sizing:content-box;padding:.7rem;border-radius:999px;background-color:var(--w-green)}
.brand-warung section .grid>.group:nth-child(even)>.text-brand-tan svg{background-color:var(--w-orange)}
/* gallery */
.brand-warung .exp-bento>*{border-radius:1rem}
/* promise */
.brand-warung section p.italic.text-brand-charcoal{font-family:var(--w-head);font-style:italic;font-weight:400;letter-spacing:0;color:var(--w-light);font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.2}
/* contact */
.brand-warung section .text-brand-sage{color:var(--w-green)}
.brand-warung section .bg-brand-sage\/15{background-color:var(--w-light)}
.brand-warung .elementor>.e-con:nth-child(7)>.elementor-widget>section span.text-brand-charcoal{color:var(--w-ink)}
.brand-warung section a.bg-brand-tan,.brand-warung section a.bg-brand-tan:hover{background-color:var(--w-green);color:var(--w-light);border-radius:999px}
.brand-warung section a.border{border-color:var(--w-ink);color:var(--w-ink);border-radius:999px}
.brand-warung section a.border:hover{background-color:var(--w-ink);color:var(--w-light)}
.brand-warung section a.text-brand-tan{color:var(--w-ink);text-decoration:underline}
.brand-warung section a .uppercase,.brand-warung section a.uppercase{text-transform:none;letter-spacing:-.01em;font-size:.95rem}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
/* ===== PUCO — Brand Guidelines 2026 (shared by PUCO HUB, and PUCO Rooftop when it is rebuilt) =====
   Colours: Green #0D594A, Light Green #8EA085, Yellow #DDCA94, Black, White; Blush #F9EFE8 is the deck's light tone.
   Type: Helvetica Bold for headlines, Regular for the rest, -50 tracking (body -0.01em on screen). Inter Tight stands in
   where Helvetica Now isn't installed, as on Puri Canggu Rooms. Flat surfaces, 20px corners, sentence-case pills.
   Contrast: white/green 8.3, yellow/green 5.1, black/yellow 13, black/light green 7.5. Light Green is never text. */
.brand-puco{--p-green:#0D594A;--p-lgreen:#8EA085;--p-yellow:#DDCA94;--p-black:#000;--p-white:#fff;--p-blush:#F9EFE8;--p-rule:rgba(0,0,0,.14);--p-font:"Helvetica Now Display","Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;--p-radius:20px;background-color:var(--p-white)}
.brand-puco .pc{font-family:var(--p-font);font-weight:400;letter-spacing:-.01em;line-height:1.6;font-size:1.0625rem;color:var(--p-black)}
.brand-puco .pc :where(h1,h2,h3){font-family:var(--p-font);font-weight:700;letter-spacing:-.05em;line-height:1.02;margin:0;color:inherit}
.brand-puco .pc :focus-visible{outline:3px solid var(--p-green);outline-offset:3px;border-radius:4px}
.brand-puco .pc-sec--green :focus-visible{outline-color:var(--p-yellow)}
.pc-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.pc-sec{padding:104px 0}
.pc-sec--green{background-color:var(--p-green);color:var(--p-white)}
.pc-sec--blush{background-color:var(--p-blush)}
.brand-puco .pc-h2{font-size:clamp(2.25rem,4.4vw,3.75rem);color:var(--p-green);margin-top:18px}
.brand-puco .pc-sec--green .pc-h2{color:var(--p-yellow)}
.pc-lede{font-size:1.1875rem;line-height:1.55;max-width:40ch}
.pc-body{margin-top:16px;max-width:48ch}
.pc-pill{display:inline-flex;align-items:center;background-color:var(--p-lgreen);color:var(--p-black);border-radius:999px;padding:.3em .95em;font-size:.875rem;line-height:1.5;letter-spacing:-.01em}
.pc-head{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 48px;align-items:end}
.pc-split{display:grid;grid-template-columns:1fr 1fr;gap:48px 72px;align-items:center}
.pc-split--top{align-items:start}
.pc-split .pc-lede{margin-top:20px}

/* buttons and links */
.pc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;border:2px solid transparent;font-weight:700;font-size:1rem;letter-spacing:-.02em;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.brand-puco .pc .pc-btn--yellow{background-color:var(--p-yellow);color:var(--p-black)}
.brand-puco .pc .pc-btn--yellow:hover{background-color:var(--p-black);color:var(--p-yellow)}
.brand-puco .pc .pc-btn--black{background-color:var(--p-black);color:var(--p-white);margin-top:28px}
.brand-puco .pc .pc-btn--black:hover{background-color:var(--p-green)}
.pc-btn--line{border-color:currentColor}
.brand-puco .pc .pc-btn--line:hover{background-color:var(--p-black);border-color:var(--p-black);color:var(--p-white)}
.brand-puco .pc .pc-sec--green .pc-btn--line:hover{background-color:var(--p-white);border-color:var(--p-white);color:var(--p-green)}
.pc-link{display:inline-flex;align-items:center;gap:.4em;font-weight:700;letter-spacing:-.02em;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.pc-link::after{content:"\2192";text-decoration:none}
.pc-link:hover{text-decoration-color:var(--p-green)}

/* hero: the cover slide — white field, wordmark, big green headline */
.pc-hero{padding:144px 0 88px}
.pc-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.pc-hero__logo{height:24px;width:auto;margin-bottom:36px}
.brand-puco .pc-hero h1{font-size:clamp(3.25rem,7.6vw,6.75rem);line-height:.94;color:var(--p-green);margin:22px 0 24px}
.pc-hero__lede{font-size:1.25rem;line-height:1.5;max-width:34ch}
.pc-hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.pc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;padding-top:20px;border-top:1px solid var(--p-rule)}
.pc-facts b{display:block;font-size:1.25rem;letter-spacing:-.04em;color:var(--p-green)}
.pc-facts span{font-size:.9375rem}
.pc-hero__photo{position:relative}
.pc-hero__photo>img:first-child{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--p-radius)}
.pc-hero__mark{position:absolute;left:-36px;bottom:40px;width:128px;height:128px;padding:10px;border-radius:50%;background-color:var(--p-white)}

/* group offers ticker, in PUCO colours: black with yellow type */
.brand-puco .pc .elementor-widget-pcl-offers-ticker>a.bg-brand-tan,.brand-puco .pc .elementor-widget-pcl-offers-ticker>a.bg-brand-tan:hover{background-color:var(--p-black)}
.brand-puco .pc .elementor-widget-pcl-offers-ticker>a.bg-brand-tan :is(.text-white,.text-white\/90){color:var(--p-yellow)}
.brand-puco .pc .elementor-widget-pcl-offers-ticker>a.bg-brand-tan .bg-white\/50{background-color:var(--p-lgreen)}
.brand-puco .pc .elementor-widget-pcl-offers-ticker>a .uppercase{text-transform:none;letter-spacing:-.01em;font-size:.9375rem}
.brand-puco .pc .elementor-widget-pcl-offers-ticker>a{text-decoration:none}

/* programmes */
.pc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.pc-card{display:flex;flex-direction:column;background-color:var(--p-white);color:var(--p-black);border-radius:var(--p-radius);padding:12px}
.pc-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.pc-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:14px;flex:1;padding:20px 12px 16px}
.brand-puco .pc-card h3{font-size:1.625rem;color:var(--p-green)}
.pc-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;width:100%;margin-top:auto;padding-top:14px;border-top:1px solid var(--p-rule);font-size:.9375rem}
.pc-meta dt{font-weight:700}
.pc-card .pc-link{padding-top:8px}

/* merch */
.pc-where{display:flex;align-items:center;gap:10px;margin-top:28px;font-weight:700;letter-spacing:-.02em}
.pc-where::before{content:"*";color:var(--p-lgreen);font-size:2.25rem;line-height:.6;font-weight:700}
.pc-merch__pics{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.pc-merch__pics>img:not(.pc-merch__mark){width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--p-radius)}
.pc-merch__pics>img:nth-child(2){margin-top:56px}
.pc-merch__mark{position:absolute;width:112px;height:auto;right:-16px;top:-44px}

/* perks */
.pc-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.pc-perk{background-color:var(--p-white);border-radius:var(--p-radius);padding:26px 28px}
.brand-puco .pc-perk h3{font-size:1.3125rem;letter-spacing:-.04em;color:var(--p-green)}
.pc-perk p{margin-top:4px;font-size:.9375rem}
.pc-note{margin-top:32px}
.pc-note a{text-decoration:underline;font-weight:700;text-decoration-thickness:2px;text-underline-offset:4px}

/* PUCOCare list and FAQ: asterisk bullets and thin rules, as in the deck */
.pc-sticky{position:sticky;top:120px}
.pc-list{border-top:1px solid var(--p-rule)}
.pc-list li{display:grid;grid-template-columns:36px 1fr;gap:4px 8px;padding:22px 0;border-bottom:1px solid var(--p-rule)}
.pc-list li::before{content:"*";grid-row:span 2;color:var(--p-lgreen);font-size:2.5rem;line-height:.7;font-weight:700}
.brand-puco .pc-list h3{font-size:1.3125rem;letter-spacing:-.04em}

.pc-faq{border-top:1px solid var(--p-rule)}
.pc-faq details{border-bottom:1px solid var(--p-rule)}
.pc-faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;cursor:pointer;list-style:none;font-weight:700;font-size:1.1875rem;letter-spacing:-.03em;line-height:1.3}
.pc-faq summary::-webkit-details-marker{display:none}
.pc-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background-color:var(--p-blush);color:var(--p-green);font-size:1.5rem;font-weight:400;line-height:1}
.pc-faq details[open] summary::after{content:"\2212";background-color:var(--p-yellow);color:var(--p-black)}
.pc-faq details p{padding:0 56px 24px 0;max-width:62ch}

/* stories */
.pc-stories{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:48px 0 40px}
.pc-story{display:block;text-decoration:none}
.pc-story img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--p-radius);margin-bottom:16px}
.brand-puco .pc-story h3{font-size:1.1875rem;letter-spacing:-.03em;line-height:1.25}
.pc-story:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

/* contact */
.pc-info{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.3)}
.pc-info dt{font-weight:700;color:var(--p-yellow)}
.pc-contact__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--p-radius)}
.pc-map{position:relative;display:grid;place-items:center;aspect-ratio:4/5;overflow:hidden;border-radius:var(--p-radius);background-color:var(--p-blush);color:var(--p-black)}
.pc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pc-map>a{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.pc-contact__map>.pc-link{margin-top:20px}

@media (max-width:960px){
  .pc-hero{padding:120px 0 64px}
  .pc-hero__grid,.pc-split,.pc-head{grid-template-columns:1fr}
  .pc-hero__mark{left:16px;bottom:16px;width:96px;height:96px}
  .pc-cards{grid-template-columns:1fr;max-width:560px}
  .pc-stories{grid-template-columns:1fr 1fr}
  .pc-perks{grid-template-columns:1fr 1fr}
  .pc-sticky{position:static}
  .pc-contact__photo{max-width:480px}
  .pc-map{aspect-ratio:4/3}
}
@media (max-width:640px){
  .pc-wrap{padding:0 16px}
  .pc-sec{padding:72px 0}
  .pc-facts{grid-template-columns:1fr;gap:12px}
  .pc-facts li{display:flex;gap:10px;align-items:baseline}
  .pc-perks,.pc-stories{grid-template-columns:1fr}
  .pc-merch__mark{width:84px;right:-4px;top:-32px}
  .pc-faq details p{padding-right:0}
}
@media (prefers-reduced-motion:reduce){.brand-puco .animate-marquee-left{animation:none}}

/* ===== PUCO Rooftop page, on top of the shared PUCO layer above: the wrapper carries .brand-puco and .puco-rooftop =====
   Client decisions of 2026-10-05 (docs/puco-rooftop-outline.md §6): body text at -0.02em, white is the only neutral (no blush).
   Page components use the pr- prefix; the class list is in docs/puco-rooftop-outline.md §8.
   Tabs show their buttons only with JavaScript; without it every panel is listed. Nothing starts hidden. */
.puco-rooftop .pc{letter-spacing:-.02em}
.puco-rooftop .pc-faq summary::after{background-color:var(--p-lgreen);color:var(--p-black)}
.puco-rooftop .pr-sec--yellow{background-color:var(--p-yellow)}
.puco-rooftop .pr-sec--flush{padding-top:0}
.brand-puco.puco-rooftop .pc-hero h1{font-size:clamp(2.75rem,4.8vw,4.25rem);line-height:.98}
.puco-rooftop .pr-hl{background:linear-gradient(transparent 62%,var(--p-yellow) 62%,var(--p-yellow) 90%,transparent 90%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.puco-rooftop .pr-ticks{display:grid;align-content:start;gap:10px}
.puco-rooftop .pr-ticks--2{grid-template-columns:1fr 1fr;column-gap:24px}
.puco-rooftop .pr-ticks li{position:relative;padding-left:26px;font-size:.9375rem;line-height:1.45}
.puco-rooftop .pr-ticks li::before{content:"*";position:absolute;left:0;top:-.05em;color:var(--p-lgreen);font-size:1.75rem;line-height:1;font-weight:700}
.puco-rooftop .pr-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:2rem;font-weight:700;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.puco-rooftop .pr-price small{font-size:.875rem;font-weight:400;letter-spacing:-.02em}
.puco-rooftop .pr-fine{font-size:.875rem;line-height:1.5}

/* three ways in: the copy sits on a near-solid green panel, never on the photo itself */
.puco-rooftop .pr-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.puco-rooftop .pr-pillar{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:440px;overflow:hidden;border-radius:var(--p-radius);color:var(--p-white);text-decoration:none}
.puco-rooftop .pr-pillar>img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.puco-rooftop .pr-pillar:hover>img{transform:scale(1.04)}
.puco-rooftop .pr-pillar__body{position:relative;display:grid;gap:10px;padding:20px 28px 28px;background-color:rgba(13,89,74,.96)}
.puco-rooftop .pr-pillar__body::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:64px;background:linear-gradient(rgba(13,89,74,0),rgba(13,89,74,.96))}
.puco-rooftop .pr-pillar__num{font-size:.875rem;font-weight:700;color:var(--p-yellow)}
.brand-puco.puco-rooftop .pr-pillar h3{font-size:1.625rem;letter-spacing:-.04em;color:var(--p-white)}
.puco-rooftop .pr-pillar p{font-size:.9375rem;line-height:1.55}
.puco-rooftop .pr-pillar .pc-link{color:var(--p-yellow)}
.puco-rooftop .pr-strip{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:16px;margin-top:16px}
.puco-rooftop .pr-strip img{width:100%;height:240px;object-fit:cover;border-radius:var(--p-radius)}

/* hours */
.puco-rooftop .pr-hours{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px;padding:28px 36px;border-radius:var(--p-radius);background-color:var(--p-green);color:var(--p-white)}
.brand-puco.puco-rooftop .pr-hours h2{font-size:clamp(1.375rem,2.2vw,1.75rem);letter-spacing:-.04em;color:var(--p-yellow)}
.puco-rooftop .pr-hours p{font-size:.9375rem;line-height:1.5}
.puco-rooftop .pr-hours b{color:var(--p-yellow)}

/* tabs (work zones, pass groups) */
.puco-rooftop .pr-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 24px}
.puco-rooftop .pr-tab{min-height:44px;padding:0 20px;border:2px solid var(--p-black);border-radius:999px;background-color:var(--p-white);color:var(--p-black);font:inherit;font-weight:700;letter-spacing:-.02em;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.puco-rooftop .pr-tab:hover{border-color:var(--p-green);color:var(--p-green)}
.puco-rooftop .pr-tab[aria-selected="true"]{background-color:var(--p-green);border-color:var(--p-green);color:var(--p-white)}
html:not(.js) .puco-rooftop .pr-tabs{display:none}
.puco-rooftop .pr-panels{display:grid;gap:24px}
.puco-rooftop [role="tabpanel"][hidden]{display:none}
html.js .puco-rooftop .pr-panel__title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* coworking: zones, passes, rooms */
.puco-rooftop .pr-zone{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:16px;border:1px solid var(--p-rule);border-radius:var(--p-radius)}
.puco-rooftop .pr-zone>img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:12px}
.puco-rooftop .pr-zone__body{display:grid;gap:14px;padding:8px 16px 8px 0}
.brand-puco.puco-rooftop .pr-zone h3{font-size:1.625rem;color:var(--p-green)}
.puco-rooftop .pr-passes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.puco-rooftop .pr-pass{position:relative;display:flex;flex-direction:column;padding:28px;border:1px solid var(--p-rule);border-radius:var(--p-radius)}
.puco-rooftop .pr-pass--featured{border:2px solid var(--p-green)}
.puco-rooftop .pr-pass>.pc-pill{position:absolute;top:0;left:24px;transform:translateY(-50%);background-color:var(--p-black);color:var(--p-yellow);font-weight:700}
.brand-puco.puco-rooftop .pr-pass h3{font-size:1.375rem;letter-spacing:-.04em}
.puco-rooftop .pr-pass__tag{margin-top:2px;font-size:.875rem;font-weight:700;color:var(--p-green)}
.puco-rooftop .pr-pass .pr-price{margin:16px 0 20px}
.puco-rooftop .pr-pass .pr-ticks{flex:1;margin-bottom:24px}
.puco-rooftop .pr-desks{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
.puco-rooftop .pr-desks .pc-card{border:1px solid var(--p-rule)}
.puco-rooftop .pr-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.puco-rooftop .pr-room{display:flex;flex-direction:column;gap:6px;padding:24px;border:1px solid var(--p-rule);border-radius:var(--p-radius)}
.brand-puco.puco-rooftop .pr-room h3{font-size:1.1875rem;letter-spacing:-.04em}
.puco-rooftop .pr-room p{font-size:.9375rem;line-height:1.5}
.puco-rooftop .pr-room__price{margin-top:auto;padding-top:12px;font-weight:700;color:var(--p-green)}

/* eatery: dish cut-outs on a Light Green field, white cards (the section itself can be yellow) */
.puco-rooftop .pr-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.puco-rooftop .pr-dish{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--p-rule);border-radius:var(--p-radius);background-color:var(--p-white)}
.puco-rooftop .pr-dish__plate{position:relative;aspect-ratio:5/4;background-color:var(--p-lgreen)}
.puco-rooftop .pr-dish__plate img{position:absolute;top:24px;left:24px;width:calc(100% - 48px);height:calc(100% - 48px);object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}
.puco-rooftop .pr-dish__plate .pc-pill{position:absolute;top:14px;left:14px;background-color:var(--p-white)}
.puco-rooftop .pr-dish__body{display:grid;gap:6px;padding:20px 20px 24px}
.brand-puco.puco-rooftop .pr-dish h3{font-size:1.1875rem;letter-spacing:-.04em;color:var(--p-green)}
.puco-rooftop .pr-dish p{font-size:.9375rem;line-height:1.5}
.puco-rooftop .pr-dish__items{margin-top:8px;font-size:.875rem}
.puco-rooftop .pr-dish__items li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--p-rule)}
.puco-rooftop .pr-dish__items li span:last-child{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}

/* community (green section): photos, stats ruled like the deck's tables, bordered reviews, yellow promise, mantra marquee */
.puco-rooftop .pr-photos{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:48px}
.puco-rooftop .pr-photos img{width:100%;height:300px;object-fit:cover;border-radius:var(--p-radius)}
.puco-rooftop .pr-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-top:1px solid var(--p-white);border-left:1px solid var(--p-white)}
.puco-rooftop .pr-stat{padding:24px 20px;border-right:1px solid var(--p-white);border-bottom:1px solid var(--p-white)}
.puco-rooftop .pr-stat b{display:block;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1;letter-spacing:-.05em;color:var(--p-yellow)}
.puco-rooftop .pr-stat span{display:block;margin-top:8px;font-size:.9375rem}
.puco-rooftop .pr-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.puco-rooftop .pr-review{display:flex;flex-direction:column;gap:16px;margin:0;padding:24px;border:1px solid var(--p-white);border-radius:var(--p-radius)}
.puco-rooftop .pr-review__stars{letter-spacing:.2em;color:var(--p-yellow)}
.puco-rooftop .pr-review blockquote{font-size:1rem;line-height:1.6}
.puco-rooftop .pr-review figcaption{margin-top:auto;font-size:.875rem}
.puco-rooftop .pr-review figcaption b{display:block;font-size:.9375rem}
.puco-rooftop .pr-promise{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin-top:48px;padding:clamp(28px,4vw,40px);border-radius:var(--p-radius);background-color:var(--p-yellow);color:var(--p-black)}
.brand-puco.puco-rooftop .pr-promise h3{font-size:clamp(1.5rem,2.8vw,2.125rem);letter-spacing:-.05em;color:var(--p-black)}
.puco-rooftop .pr-promise .pc-btn{margin-top:0}
.puco-rooftop .pr-marquee{overflow:hidden;padding:18px 0;background-color:var(--p-black);color:var(--p-yellow)}
.puco-rooftop .pr-marquee__track{display:flex;width:max-content;animation:pr-marquee 45s linear infinite}
.puco-rooftop .pr-marquee:is(:hover,:focus-within) .pr-marquee__track{animation-play-state:paused}
.puco-rooftop .pr-marquee__set{display:flex;gap:40px;padding-right:40px}
.puco-rooftop .pr-marquee__set li{display:inline-flex;align-items:center;gap:40px;font-size:1.125rem;font-weight:700;letter-spacing:-.03em;white-space:nowrap}
.puco-rooftop .pr-marquee__set li::after{content:"*";color:var(--p-lgreen);font-size:1.75rem;line-height:.6}
@keyframes pr-marquee{to{transform:translateX(-50%)}}

/* FAQ groups (the gallery uses the shared pc-bento) */
.puco-rooftop .pr-faq-group+.pr-faq-group{margin-top:48px}
.puco-rooftop .pr-faq-group>.pc-pill{margin-bottom:16px}

/* sub-headings, action rows, two-card rows, the shared list's rules on green */
.brand-puco.puco-rooftop .pr-subhead{margin-top:80px;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.04em;color:var(--p-green)}
.brand-puco.puco-rooftop .pc-sec--green .pr-subhead{color:var(--p-white)}
.puco-rooftop .pr-subhead+[data-tabs]>.pr-tabs{margin-top:24px}
.puco-rooftop .pr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.puco-rooftop .pr-actions .pc-btn{margin-top:0}
.puco-rooftop .pr-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:24px}
.puco-rooftop .pc-sec--green .pc-list,.puco-rooftop .pc-sec--green .pc-list li{border-color:rgba(255,255,255,.35)}

/* Find us uses the shared pc-map (site.js swaps its link for the embed when online); Light Green instead of blush, as on the FAQ toggles */
.puco-rooftop .pc-map{background-color:var(--p-lgreen)}

@media (max-width:960px){
  .puco-rooftop .pr-pillars,.puco-rooftop .pr-passes,.puco-rooftop .pr-reviews,.puco-rooftop .pr-menu,.puco-rooftop .pr-stats{grid-template-columns:1fr 1fr}
  .puco-rooftop .pr-zone{grid-template-columns:1fr}
  .puco-rooftop .pr-zone__body{padding:0 8px 8px}
}
@media (max-width:640px){
  .puco-rooftop .pr-pillars,.puco-rooftop .pr-passes,.puco-rooftop .pr-reviews,.puco-rooftop .pr-menu,.puco-rooftop .pr-strip,.puco-rooftop .pr-photos,.puco-rooftop .pr-desks,.puco-rooftop .pr-pair,.puco-rooftop .pr-ticks--2{grid-template-columns:1fr}
  .puco-rooftop .pr-strip img,.puco-rooftop .pr-photos img{height:220px}
  .puco-rooftop .pr-pillar{min-height:380px}
  .puco-rooftop .pr-hours{padding:24px}
}
@media (prefers-reduced-motion:reduce){
  .puco-rooftop .pc *{transition:none!important}
  .puco-rooftop .pr-pillar:hover>img{transform:none}
  .puco-rooftop .pr-marquee__track{width:auto;justify-content:center;animation:none}
  .puco-rooftop .pr-marquee__set{flex-wrap:wrap;justify-content:center;row-gap:12px;padding:0 16px}
  .puco-rooftop .pr-marquee__set[aria-hidden="true"]{display:none}
}
.pc-list__more{margin-top:28px}
/* gallery: bento grid. Tiles share one markup shape (a WordPress repeater); placement comes from their order. */
.pc-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px;margin:56px 0 40px}
.pc-tile{position:relative;display:block;width:100%;height:100%;padding:0;border:0;overflow:hidden;border-radius:var(--p-radius);background-color:var(--p-black);cursor:zoom-in}
.pc-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pc-tile:hover img{transform:scale(1.03)}
.pc-tile__cap{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);background-color:var(--p-lgreen);color:var(--p-black);border-radius:999px;padding:.3em .9em;font-size:.875rem;line-height:1.4;letter-spacing:-.01em;text-align:left}
.pc-bento>:nth-child(1){grid-column:1/3;grid-row:1/3}
.pc-bento>:nth-child(2){grid-column:3;grid-row:1/3}
.pc-bento>:nth-child(3){grid-column:4;grid-row:1/3}
.pc-bento>:nth-child(4){grid-column:1/3}
.pc-bento>:nth-child(5) img{object-position:50% 35%}
.pc-bento>:nth-child(6) img{object-position:50% 62%}
@media (max-width:960px){
  .pc-bento{grid-template-columns:1fr 1fr;grid-auto-rows:200px}
  .pc-bento>:nth-child(1),.pc-bento>:nth-child(4){grid-column:1/-1;grid-row:span 2}
  .pc-bento>:nth-child(4){grid-row:span 1}
  .pc-bento>:nth-child(2),.pc-bento>:nth-child(3){grid-column:auto;grid-row:span 2}
}
@media (max-width:640px){.pc-bento{grid-auto-rows:150px;gap:10px}.pc-tile__cap{left:10px;bottom:10px;font-size:.8125rem}}
@media (prefers-reduced-motion:reduce){.pc-tile img{transition:none}.pc-tile:hover img{transform:none}}
/* PUCO Hub intro (long-form copy) and "What Can Happen Here" */
.pc-prose p{font-size:1.1875rem;line-height:1.65;max-width:60ch}
.pc-prose p:first-child{font-size:1.375rem;line-height:1.5;letter-spacing:-.02em}
.pc-prose p+p{margin-top:22px}
.pc-head>div>.pc-btn--black{margin-top:0}
.pc-happen{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.pc-happen li{display:flex;align-items:flex-start;gap:12px;min-height:120px;padding:24px 24px 26px;border-radius:var(--p-radius);background-color:var(--p-white);font-weight:700;font-size:1.25rem;line-height:1.25;letter-spacing:-.04em}
.pc-happen li::before{content:"*";flex:none;color:var(--p-lgreen);font-size:2.5rem;line-height:.7}
.pc-happen li:last-child{grid-column:span 2;background-color:var(--p-green);color:var(--p-white)}
.pc-happen li:last-child::before{color:var(--p-yellow)}
@media (max-width:960px){.pc-happen{grid-template-columns:1fr 1fr}.pc-happen li:last-child{grid-column:1/-1}}
@media (max-width:640px){.pc-happen{grid-template-columns:1fr;gap:10px}.pc-happen li{min-height:0;padding:18px 20px}.pc-happen li:last-child{grid-column:auto}}

/* ---- group nav (2026-10-09): Coliving / Work & Connect / Dining dropdowns + Special Offers · Blog · Book Now; markup from tools/nav-markup.js ---- */
.na-bar{display:flex;align-items:center;gap:28px}
.na-links{display:none;align-items:center;gap:4px}
.na-bar>.na-book{display:none;white-space:nowrap}
/* desktop: logo left, menu centred, Book Now right (the bar wrapper dissolves into the row's 3-column grid) */
@media (min-width:1024px){
.na-nav>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:24px}
.na-nav>div>a:first-child{justify-self:start}
.na-bar{display:contents}
.na-links{display:flex}
.na-bar>.na-book{display:inline-block;justify-self:end}
}
/* items: hover / open = soft rounded highlight (background only, so Special Offers and the current group keep their colour); current page = underline */
.na-link{position:relative;display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:8px;font-size:12px;line-height:16px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:color .2s,background-color .2s}
.na-link::after{content:"";position:absolute;left:12px;bottom:3px;height:1px;width:0;background:currentColor;transition:width .3s}
.na-link[aria-current=page]::after{width:calc(100% - 24px)}
.na-trigger.na-in::after{width:calc(100% - 41px)}
.na-trigger{background:none;border:0;color:inherit;cursor:pointer;font-family:inherit}
.na-trigger svg{transition:transform .2s}
.na-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.na-light{color:#fff}
.na-light .na-offers{color:#eae2d3}
.na-light .na-link:hover,.na-light .na-link:focus-visible,.na-light .na-trigger[aria-expanded=true]{background:rgba(255,255,255,.16)}
.na-dark{color:#2a2725}
.na-dark .na-offers,.na-dark .na-link[aria-current=page],.na-dark .na-in{color:#ae8f60}
.na-dark .na-link:hover,.na-dark .na-link:focus-visible,.na-dark .na-trigger[aria-expanded=true]{background:rgba(174,143,96,.16)}
/* dropdown panel */
.na-dd-wrap{position:relative}
.na-dd{position:absolute;top:calc(100% + 22px);left:0;z-index:50;min-width:260px;padding:8px;border-radius:12px;background:#fff;border:1px solid rgba(174,143,96,.18);box-shadow:0 18px 40px -12px rgba(42,39,37,.28)}
.na-dd.hidden{display:none}
.na-dd::before{content:"";position:absolute;left:0;right:0;top:-22px;height:22px}
.na-dd-link{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;transition:background-color .2s}
.na-dd-link:hover,.na-dd-link:focus-visible{background:rgba(174,143,96,.08)}
.na-dd-name{color:#2a2725;font-size:14px;line-height:1.35;font-weight:500;letter-spacing:0;text-transform:none}
.na-dd-hint{color:rgba(42,39,37,.58);font-size:12.5px;line-height:1.4;letter-spacing:0;text-transform:none}
.na-dd-link[aria-current=page]{background:rgba(174,143,96,.1)}
.na-dd-link[aria-current=page] .na-dd-name,.na-dd-link:hover .na-dd-name{color:#ae8f60}
/* phone / tablet menu */
.na-m-title{color:#ae8f60;font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin:4px 0 6px}
.na-m-places{width:100%}
.na-m-group{width:100%;padding:10px 0 6px}
.na-m-eyebrow{color:rgba(255,255,255,.45);font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:4px}
.na-m-link{display:flex;flex-direction:column;padding:8px 0}
.na-m-name{color:#fff;font-size:17px;line-height:1.3}
.na-m-hint{color:rgba(255,255,255,.55);font-size:13px;line-height:1.4;margin-top:2px}
.na-m-link:hover .na-m-name,.na-m-link[aria-current=page] .na-m-name{color:#ae8f60}
.na-m-rule{width:100%;height:1px;background:rgba(255,255,255,.12);margin:18px 0 22px}
@media (min-width:768px){.na-m-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;max-width:920px}.na-m-rule{max-width:920px}}
/* menu open (React: .na-open; static/plain pages: html.menu-open from site.js): charcoal bar so the menu never shows through behind the logo */
.na-nav.na-open,html.menu-open .na-nav{background:#2a2725;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.na-nav.na-open img,html.menu-open .na-nav img{filter:brightness(0) invert(1)}
.na-nav.na-open .na-burger,html.menu-open .na-nav .na-burger{color:#fff}
.na-nav.na-open .na-book,html.menu-open .na-nav .na-book{visibility:hidden}
/* footer link columns follow the nav groups: brand · Coliving · Work & Connect + Dining · Explore · Contact */
@media (min-width:1024px){.na-f-grid{grid-template-columns:minmax(0,1.2fr) auto auto auto minmax(0,1.2fr);column-gap:56px}}
/* Outline buttons: hover fills with the outline colour and the label flips to the contrasting colour (2026-10-09).
   The brand colour overrides (.brand-homepage .text-white, .brand-rooms section .text-brand-charcoal) out-ranked the hover utilities, so the label vanished on hover. */
.brand-homepage .hover\:text-brand-charcoal:hover{color:#2A2725}
.brand-rooms section a.border:hover{background-color:var(--r-ink);border-color:var(--r-ink);color:#fff}
/* Tan buttons on the shared pages (blog, articles, Special Offers) hovered to sage (white on sage 2.7:1): forest instead (9.6:1).
   Dark text links that hovered to tan (2.7:1 on cream) also go to forest; tan stays for the footer's light-on-dark icons. */
a.bg-brand-tan.text-white.hover\:bg-brand-sage:not(:is(.brand-homepage,.brand-rooms,.brand-kaja,.brand-warung,.brand-puco) *):hover{background-color:#3A4A3F}
a:is(.text-brand-charcoal,.text-brand-charcoal\/40,.text-brand-charcoal\/50,.text-brand-charcoal\/60,.text-brand-charcoal\/70).hover\:text-brand-tan:not(:is(.brand-homepage,.brand-rooms,.brand-kaja,.brand-warung,.brand-puco) *):hover{color:#3A4A3F}
/* Testimonial cards (Google review highlights, tools/testimonials.js): name block pinned to the card bottom, gold stars, underlined link */
.tst-card{display:flex;flex-direction:column}.tst-card>.tst-meta{margin-top:auto}.tst-stars{color:#AE8F60;line-height:1}.tst-meta a{text-decoration:underline;text-underline-offset:2px}


/* ---- static-site additions (replaces behaviour that lived in React/GSAP/Lenis) ---- */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 80px; }

/* homepage: transparent nav at the top, solid nav once scrolled */
nav[data-nav] { transition: opacity .4s, visibility .4s; }
nav[data-nav="solid"], html.is-scrolled nav[data-nav="top"] { opacity: 0; visibility: hidden; pointer-events: none; }
html.is-scrolled nav[data-nav="solid"] { opacity: 1; visibility: visible; pointer-events: auto; }
html.menu-open { overflow: hidden; }

/* scroll reveals — only active when JS is running, so content is never hidden without it */
/* the transition sits on .is-in only, so hiding at load is instant and never fades content out */
html.js [data-reveal] { opacity: 0; translate: 0 28px; }
html.js [data-reveal].is-in { opacity: 1; translate: none; transition: opacity .8s ease-out, translate .8s ease-out; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.js [data-reveal] { opacity: 1; translate: none; transition: none; }
}

/* blog filter chips */
[data-filter] { cursor: pointer; user-select: none; transition: background-color .2s, color .2s; }
[data-filter].is-active { background-color: #AE8F60; color: #fff; }

/* map */
[data-map] { display: flex; align-items: center; justify-content: center; }
[data-map] iframe { width: 100%; height: 100%; min-height: 400px; border: 0; }
[data-map-title] { background-color: #fff; color: #353535; }

[data-goto], [data-lightbox] { cursor: pointer; }
[data-dragscroll].is-dragging { cursor: grabbing; scroll-behavior: auto; }
