/* Generated by npm run fonts:refresh. Sources and licenses are in fonts/manifest.json. */
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-italic-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-italic-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-italic-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;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-normal-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-normal-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;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-normal-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-normal-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-normal-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: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url(fonts/material-symbols-outlined.woff2) format('woff2');
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.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:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-20{top:5rem}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.mx-auto{margin-left:auto;margin-right:auto}.-mt-10{margin-top:-2.5rem}.mb-2{margin-bottom:.5rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-20{height:5rem}.h-4{height:1rem}.h-\[839px\]{height:839px}.h-full{height:100%}.max-h-\[860px\]{max-height:860px}.min-h-\[580px\]{min-height:580px}.min-h-\[calc\(100vh-5rem\)\]{min-height:calc(100vh - 5rem)}.w-1\.5{width:.375rem}.w-4{width:1rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-xl{max-width:36rem}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-space-md{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:.75rem}.rounded-lg{border-radius:.25rem}.rounded-xl{border-radius:.5rem}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-outline-variant\/40{border-color:hsla(135,3%,77%,.4)}.bg-\[\#25D366\]{--tw-bg-opacity:1;background-color:rgb(37 211 102/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(9 15 13/var(--tw-bg-opacity,1))}.bg-primary-container{--tw-bg-opacity:1;background-color:rgb(30 37 34/var(--tw-bg-opacity,1))}.bg-primary\/80{background-color:rgba(9,15,13,.8)}.bg-secondary{--tw-bg-opacity:1;background-color:rgb(83 98 90/var(--tw-bg-opacity,1))}.bg-secondary-container{--tw-bg-opacity:1;background-color:rgb(209 225 215/var(--tw-bg-opacity,1))}.bg-surface{--tw-bg-opacity:1;background-color:rgb(250 249 246/var(--tw-bg-opacity,1))}.bg-surface-container{--tw-bg-opacity:1;background-color:rgb(239 238 235/var(--tw-bg-opacity,1))}.bg-surface-container-high{--tw-bg-opacity:1;background-color:rgb(233 232 229/var(--tw-bg-opacity,1))}.bg-surface-container-low{--tw-bg-opacity:1;background-color:rgb(244 243 241/var(--tw-bg-opacity,1))}.bg-surface-container-lowest{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-surface-container-lowest\/15{background-color:hsla(0,0%,100%,.15)}.bg-surface-container-lowest\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-primary{--tw-gradient-from:#090f0d var(--tw-gradient-from-position);--tw-gradient-to:rgba(9,15,13,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary\/70{--tw-gradient-from:rgba(9,15,13,.7) var(--tw-gradient-from-position);--tw-gradient-to:rgba(9,15,13,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-primary\/35{--tw-gradient-to:rgba(9,15,13,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(9,15,13,.35) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-black\/30{--tw-gradient-to:rgba(0,0,0,.3) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-space-md{padding-left:1rem;padding-right:1rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-space-3xl{padding-top:6rem;padding-bottom:6rem}.py-space-xl{padding-top:2.5rem;padding-bottom:2.5rem}.pb-24{padding-bottom:6rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-body-lg{font-family:Newsreader}.font-body-md,.font-body-sm{font-family:Plus Jakarta Sans}.font-display-hero,.font-headline-lg,.font-headline-sm{font-family:Newsreader}.font-label-caps,.font-label-md,.font-metric-currency{font-family:Plus Jakarta Sans}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.font-title-lg,.font-title-md,.font-title-sm{font-family:Plus Jakarta Sans}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[32px\]{font-size:32px}.text-body-md{font-size:15px;line-height:24px;letter-spacing:0;font-weight:400}.text-body-sm{font-size:13px;line-height:20px;letter-spacing:.005em;font-weight:400}.text-headline-lg{font-size:44px;line-height:52px;letter-spacing:-.015em;font-weight:400}.text-headline-md{font-size:32px;line-height:40px;letter-spacing:-.01em;font-weight:400}.text-headline-sm{font-size:24px;line-height:32px;letter-spacing:-.005em;font-weight:500}.text-label-caps{font-size:11px;line-height:16px;letter-spacing:.08em;font-weight:700}.text-label-md{font-size:13px;line-height:18px;letter-spacing:.01em;font-weight:500}.text-sm{font-size:.875rem;line-height:1.25rem}.text-title-lg{font-size:20px;line-height:28px;letter-spacing:-.01em;font-weight:600}.text-title-md{font-size:16px;line-height:24px;letter-spacing:-.005em;font-weight:600}.text-title-sm{font-size:14px;line-height:20px;letter-spacing:0;font-weight:600}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.08\]{line-height:1.08}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-inverse-on-surface\/90{color:hsla(45,13%,94%,.9)}.text-on-primary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-on-secondary-fixed{--tw-text-opacity:1;color:rgb(17 30 24/var(--tw-text-opacity,1))}.text-on-surface{--tw-text-opacity:1;color:rgb(26 28 26/var(--tw-text-opacity,1))}.text-on-surface-variant{--tw-text-opacity:1;color:rgb(67 72 69/var(--tw-text-opacity,1))}.text-outline-variant{--tw-text-opacity:1;color:rgb(195 199 196/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(9 15 13/var(--tw-text-opacity,1))}.text-secondary{--tw-text-opacity:1;color:rgb(83 98 90/var(--tw-text-opacity,1))}.text-secondary-container{--tw-text-opacity:1;color:rgb(209 225 215/var(--tw-text-opacity,1))}.text-secondary-fixed{--tw-text-opacity:1;color:rgb(214 230 220/var(--tw-text-opacity,1))}.text-surface-bright{--tw-text-opacity:1;color:rgb(250 249 246/var(--tw-text-opacity,1))}.text-surface-variant{--tw-text-opacity:1;color:rgb(227 226 224/var(--tw-text-opacity,1))}.text-tertiary{--tw-text-opacity:1;color:rgb(32 6 0/var(--tw-text-opacity,1))}.text-tertiary-container{--tw-text-opacity:1;color:rgb(67 21 0/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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 rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.brightness-\[0\.92\]{--tw-brightness:brightness(0.92)}.brightness-\[0\.92\],.contrast-\[1\.04\]{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)}.contrast-\[1\.04\]{--tw-contrast:contrast(1.04)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.drop-shadow-sm,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-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}.duration-200{transition-duration:.2s}.hover\:bg-\[\#20ba59\]:hover{--tw-bg-opacity:1;background-color:rgb(32 186 89/var(--tw-bg-opacity,1))}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:rgb(9 15 13/var(--tw-bg-opacity,1))}.hover\:bg-primary-container:hover{--tw-bg-opacity:1;background-color:rgb(30 37 34/var(--tw-bg-opacity,1))}.hover\:bg-surface-container:hover{--tw-bg-opacity:1;background-color:rgb(239 238 235/var(--tw-bg-opacity,1))}.hover\:bg-surface-variant:hover{--tw-bg-opacity:1;background-color:rgb(227 226 224/var(--tw-bg-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(9 15 13/var(--tw-text-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(9 15 13/var(--tw-ring-opacity,1))}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-white:focus-visible{outline-color:#fff}@media (min-width:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:inline-block{display:inline-block}.sm\:inline-flex{display:inline-flex}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px*var(--tw-divide-x-reverse));border-left-width:calc(0px*(1 - var(--tw-divide-x-reverse)))}.sm\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px*var(--tw-divide-y-reverse))}.sm\:p-10{padding:2.5rem}.sm\:p-8{padding:2rem}}@media (min-width:768px){.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:pb-28{padding-bottom:7rem}}@media (min-width:1024px){.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:-mt-14{margin-top:-3.5rem}.lg\:flex{display:flex}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:justify-end{justify-content:flex-end}.lg\:gap-6{gap:1.5rem}.lg\:p-7{padding:1.75rem}.lg\:px-gutter-desktop{padding-left:2.5rem;padding-right:2.5rem}.lg\:text-body-lg{font-size:19px;line-height:30px;letter-spacing:0;font-weight:400}.lg\:text-display-hero{font-size:64px;line-height:72px;letter-spacing:-.02em;font-weight:400}.lg\:text-headline-lg{font-size:44px;line-height:52px;letter-spacing:-.015em;font-weight:400}}
:root { --gallery-ink: #1e2522; --gallery-paper: #faf9f6; --gallery-line: #e5e2da; }
.mobile-photo-nav, .contact-mobile { display: none; }
.tour-container { width: min(100%, 1280px); margin-inline: auto; }
.house-gallery, .house-tour { padding: 80px 40px; color: var(--gallery-ink); }
.house-gallery { background: var(--gallery-paper); }
.gallery-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 36px; }
.gallery-heading h2, .tour-heading h2 { font-family: Newsreader, Georgia, serif; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; letter-spacing: -.025em; text-wrap: balance; }
.gallery-heading h2 em { font-weight: 400; color: #53625a; }
.gallery-heading p, .tour-heading p { max-width: 540px; margin-top: 20px; color: #434845; line-height: 1.75; }
.gallery-open { display: inline-flex; align-items: center; justify-content: center; gap: 12px; flex-shrink: 0; min-height: 48px; padding: 12px 18px; border: 1px solid #747875; font-size: 13px; font-weight: 600; transition: background .2s, color .2s; }
.gallery-open:hover { background: var(--gallery-ink); color: var(--gallery-paper); }
.gallery-open .material-symbols-outlined { font-size: 20px; }
.gallery-overview { display: grid; grid-template-columns: 1.65fr 1fr; gap: 24px; }
.overview-main { grid-row: span 2; }
.tour-photo { min-width: 0; margin: 0; }
.photo-link { display: block; position: relative; overflow: hidden; background: #e9e8e5; }
.photo-link picture { display: block; height: 100%; }
.photo-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.16,1,.3,1); }
.photo-link:hover img { transform: scale(1.025); }
.photo-expand { position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 36px; height: 36px; background: var(--gallery-paper); color: var(--gallery-ink); }
.photo-expand span { font-size: 19px; }
.tour-photo figcaption { padding-top: 12px; font-size: 13px; color: #434845; }
.gallery-overview .photo-link { aspect-ratio: 1.6; }
.gallery-overview .overview-main .photo-link { height: calc(100% - 32px); aspect-ratio: auto; }
.gallery-hint { display: flex; gap: 8px; align-items: center; margin-top: 24px; font-size: 12px; color: #53625a; }
.gallery-hint span { font-size: 16px; }
.house-tour { background: #f4f3f1; }
.tour-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 48px; margin-bottom: 36px; }
.tour-heading p { margin: 0; justify-self: end; }
.tour-social { display: grid; grid-template-columns: 1.5fr 1fr; gap: 28px; }
.tour-side { display: grid; gap: 24px; }
.tour-side .photo-link { aspect-ratio: 1.65; }
.social-main .photo-link { height: calc(100% - 32px); }
.intimate-tour { background: var(--gallery-paper); }
.tour-rooms { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.tour-rooms .photo-link { aspect-ratio: 1.5; }
.rooms-main { grid-column: span 2; }
.rooms-main .photo-link { aspect-ratio: 2; }
.gallery-end { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--gallery-line); }
.gallery-end p { font-family: Newsreader, Georgia, serif; font-size: 26px; }
.location-note { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 32px; background: #efeeeb; }
.location-note h3 { font-family: Newsreader, Georgia, serif; font-size: 26px; }
.location-note p { margin-top: 8px; color: #434845; }
.location-note a { display: inline-flex; align-items: center; gap: 12px; text-decoration: underline; text-underline-offset: 5px; min-height: 44px; }
.location-map { display: block; width: 100%; height: 420px; border: 0; }
.house-gallery :focus-visible, .house-tour :focus-visible, .photo-gallery-dialog :focus-visible { outline: 2px solid #b4623c; outline-offset: 4px; }
#espacos, #manifesto, #localizacao, #condominio { scroll-margin-top: 160px; }
.photo-gallery-dialog { position: fixed; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 24px 32px; border: 0; background: #131715; color: #faf9f6; overflow: auto; }
.photo-gallery-dialog[open] { display: flex; flex-direction: column; gap: 16px; }
.photo-gallery-dialog::backdrop { background: #131715; }
html:has(.photo-gallery-dialog[open]) { overflow: hidden; }
.viewer-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-shrink: 0; }
.viewer-header h2 { font-family: Newsreader, Georgia, serif; font-size: 28px; }
.viewer-close, .viewer-arrow { display: grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; background: #2f312f; color: #faf9f6; border: 1px solid #747875; cursor: pointer; }
.viewer-close:hover, .viewer-arrow:hover { background: #434845; }
.gallery-filters { display: flex; gap: 8px; overflow-x: auto; flex-shrink: 0; padding: 4px; }
.gallery-filters button { min-height: 44px; padding: 8px 16px; color: #c3c7c4; white-space: nowrap; border-bottom: 2px solid transparent; }
.gallery-filters button[aria-pressed="true"] { color: #fff; border-bottom-color: #cb744d; }
.viewer-stage { display: flex; align-items: center; gap: 24px; min-height: 0; flex: 1; }
.viewer-figure { width: 100%; height: 100%; min-width: 0; min-height: 0; display: flex; flex-direction: column; gap: 16px; }
.viewer-figure picture { display: block; flex: 1; min-height: 0; }
.viewer-figure img { width: 100%; height: 100%; object-fit: contain; touch-action: pan-y; }
.viewer-figure figcaption { display: flex; justify-content: space-between; align-items: start; gap: 16px; flex-shrink: 0; }
.viewer-figure h3 { font-family: Newsreader, Georgia, serif; font-size: 25px; }
.viewer-figure p { font-size: 13px; color: #c3c7c4; margin-top: 4px; }
#viewerCount { padding-top: 6px; white-space: nowrap; color: #c3c7c4; font-size: 13px; font-variant-numeric: tabular-nums; }
.gallery-thumbnails { display: flex; gap: 10px; overflow-x: auto; flex-shrink: 0; padding: 6px; scrollbar-width: thin; scrollbar-color: #747875 #131715; }
.gallery-thumb { width: 100px; flex-shrink: 0; padding: 4px; text-align: left; border: 1px solid transparent; }
.gallery-thumb[aria-current="true"] { border-color: #cb744d; }
.gallery-thumb img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.gallery-thumb span { display: block; margin-top: 6px; color: #c3c7c4; font-size: 10px; line-height: 1.4; }
.gallery-thumb[hidden] { display: none; }
.viewer-error { color: #ffdbcd; font-size: 13px; }
.viewer-error a { text-decoration: underline; }
@media (max-width: 767px) {
  .mobile-photo-nav { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 600; }
  .contact-desktop { display: none; }
  .contact-mobile { display: inline; }
  header a[target="_blank"] { min-height: 44px; padding-inline: 12px; }
  .conversion-dock { display: none; }
  #espacos, #manifesto, #localizacao, #condominio { scroll-margin-top: 96px; }
  .house-gallery, .house-tour { padding: 48px 20px; }
  .gallery-heading, .tour-heading { display: block; margin-bottom: 28px; }
  .gallery-heading .gallery-open { margin-top: 24px; }
  .gallery-heading p, .tour-heading p { margin-top: 16px; font-size: 14px; }
  .gallery-overview, .tour-social, .tour-rooms { grid-template-columns: 1fr; gap: 28px; }
  .overview-main, .rooms-main { grid-column: auto; grid-row: auto; }
  .gallery-overview .photo-link, .gallery-overview .overview-main .photo-link, .social-main .photo-link, .tour-side .photo-link, .tour-rooms .photo-link { height: auto; aspect-ratio: 2 / 3; }
  .tour-side { gap: 28px; }
  .gallery-end, .location-note { align-items: flex-start; flex-direction: column; }
  .location-map { height: 320px; }
  .gallery-end p { font-size: 24px; }
  .photo-gallery-dialog { padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); }
  .photo-gallery-dialog[open] { gap: 8px; }
  .viewer-header h2 { font-size: 24px; }
  .viewer-stage { position: relative; gap: 0; }
  .viewer-arrow { position: absolute; top: 40%; z-index: 1; width: 44px; height: 44px; background: #131715cc; }
  .viewer-prev { left: 0; }
  .viewer-next { right: 0; }
  .viewer-figure { gap: 10px; }
  .viewer-figure h3 { font-size: 21px; }
  .viewer-figure p { font-size: 12px; line-height: 1.5; }
  .gallery-thumb { width: 76px; }
  .gallery-thumb span { display: none; }
  .gallery-filters button { padding-inline: 12px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .photo-link img, .gallery-open { transition: none; }
  .photo-link:hover img { transform: none; }
}

.floor-plan { padding: 80px 40px; background: #e9e8e5; color: #1a1c1a; scroll-margin-top: 96px; }
.floor-plan *, .floor-plan *::before, .floor-plan *::after { box-sizing: border-box; }
.floor-plan [hidden] { display: none !important; }
.plan-inner { max-width: 1200px; margin: auto; }
.plan-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.floor-plan h2 { margin: 0; font: 400 clamp(32px, 4vw, 44px)/1.15 Newsreader, Georgia, serif; letter-spacing: -.015em; text-wrap: balance; }
.floor-plan h3 { font: 500 24px/1.25 Newsreader, Georgia, serif; margin: 0 0 12px; }
.floor-plan p { font-size: 14px; line-height: 1.7; margin: 12px 0; max-width: 70ch; }
.floor-plan .plan-source-note { margin: 16px 0 28px; color: #434845; }
.floor-plan button, .plan-photo-list a { min-height: 44px; }
.floor-plan button { font: 600 13px/1.4 'Plus Jakarta Sans', sans-serif; cursor: pointer; border: 0; border-radius: 8px; padding: 10px 16px; color: #1a1c1a; background: #f4f3f1; }
.floor-plan button:hover, .plan-photo-list a:hover { background: #d6e6dc; color: #111e18; }
.floor-plan button:disabled { opacity: .45; cursor: default; }
.floor-plan :is(a, button, [tabindex]):focus-visible { outline: 3px solid #a14b27; outline-offset: 3px; }
.floor-plan ::selection { color: #111e18; background: #d6e6dc; }
.plan-views { display: flex; gap: 4px; padding: 4px; background: #fff; border-radius: 12px; flex-shrink: 0; }
.plan-views button[aria-pressed="true"] { background: #1e2522; color: #fff; }
.plan-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.plan-paper { padding: 24px; background: #fff; border-radius: 12px; text-align: center; min-width: 0; }
.plan-scene { position: relative; width: 100%; max-width: 380px; margin: auto; background: #fff; flex: none; }
.plan-scene img { display: block; width: 100%; height: auto; }
.plan-labels { position: absolute; inset: 0; }
.plan-pin, .plan-room-label { position: absolute; transform: translate(-50%, -50%); }
.plan-pin { display: flex; align-items: center; justify-content: center; gap: 2px; width: 44px; height: 44px; border-radius: 8px; background: #1e2522; color: #fff; text-decoration: none; box-shadow: 0 2px 6px #1a1c1a26; }
.plan-pin:hover { background: #53625a; }
.plan-pin .material-symbols-outlined { font-size: 20px; }
.plan-pin-number { font-size: 11px; font-weight: 700; }
.plan-room-label { max-width: 100px; padding: 3px 5px; background: #fffffff2; color: #1a1c1a; font-size: 11px; line-height: 1.35; text-align: center; }
.floor-plan .plan-orientation { font-size: 12px; color: #434845; margin: 16px auto 8px; }
.plan-expand { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.plan-rail { padding-top: 12px; min-width: 0; }
.plan-photo-list { padding-left: 28px; margin: 20px 0; }
.plan-photo-list li { padding-left: 6px; border-bottom: 1px solid #c3c7c4; }
.plan-photo-list li::marker { font-size: 12px; color: #434845; }
.plan-photo-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 8px; color: #1a1c1a; font-size: 14px; text-underline-offset: 4px; }
.plan-photo-list .material-symbols-outlined { font-size: 20px; }
.floor-plan .plan-muted { color: #434845; font-size: 12px; }
.plan-area-table { margin-top: 32px; }
.plan-area-table dl { margin: 0; font-size: 13px; }
.plan-area-table dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid #c3c7c4; }
.plan-area-table dt { min-width: 0; }
.plan-area-table dd { margin: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.plan-dialog { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: #faf9f6; color: #1a1c1a; }
.plan-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.plan-dialog::backdrop { background: #090f0de6; }
.plan-dialog-header { position: static; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: max(16px, env(safe-area-inset-top)) 24px 16px; border-bottom: 1px solid #c3c7c4; background: #faf9f6; }
.plan-dialog-header h2 { font-size: 28px; }
.plan-dialog-header [data-plan-close] { order: 2; width: 44px; padding: 10px; }
.plan-dialog-header .plan-views { margin-left: auto; }
.plan-viewport { min-height: 0; min-width: 0; overflow: auto; padding: 16px; scrollbar-width: thin; scrollbar-color: #747875 #efeeeb; }
.plan-viewport::-webkit-scrollbar { display: block; width: 10px; height: 10px; }
.plan-viewport::-webkit-scrollbar-thumb { background: #747875; border: 2px solid #efeeeb; border-radius: 8px; }
.plan-viewport .plan-scene { max-width: none; margin: 0 auto; }
.plan-zoom { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 12px 16px max(12px, env(safe-area-inset-bottom)); border-top: 1px solid #c3c7c4; background: #faf9f6; }
.plan-zoom button { min-width: 44px; }
.plan-zoom output { min-width: 48px; font-size: 13px; text-align: center; font-variant-numeric: tabular-nums; }
body:has(.plan-dialog[open]) { overflow: hidden; }
@media (max-width: 767px) {
  .floor-plan { padding: 48px 20px; }
  .plan-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .plan-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .plan-paper { padding: 12px; }
  .plan-rail { padding-top: 0; }
  .plan-dialog-header { padding-inline: 16px; }
  .plan-dialog-header .plan-views { order: 3; flex-basis: 100%; margin: 0; }
  .plan-dialog-header .plan-views button { flex: 1; }
}
