@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98848575513c9742-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:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-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:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/98848575513c9742-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:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/98848575513c9742-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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-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:Outfit Fallback;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_7cd7f9{font-family:Outfit,Outfit Fallback;font-style:normal}.__variable_7cd7f9{--font-outfit:"Outfit","Outfit Fallback"}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-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:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-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:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-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:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_aeb8b9{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}.__variable_aeb8b9{--font-source-sans:"Source Sans 3","Source Sans 3 Fallback"}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-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:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-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:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-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:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-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:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-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:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-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:Caveat Fallback;src:local("Arial");ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.00%;size-adjust:76.94%}.__className_814fbd{font-family:Caveat,Caveat Fallback;font-style:normal}.__variable_814fbd{--font-cursive:"Caveat","Caveat Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.resize{resize:both}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.border{border-style:var(--tw-border-style);border-width:1px}.object-cover{object-fit:cover}.px-4{padding-inline:calc(var(--spacing) * 4)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.break-all{word-break:break-all}.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,)}}:root,[data-theme=light]{--bg:#e8eef4;--shell:#f1f4f8;--surface:#fff;--surface-elevated:#fff;--ink:#1d2428;--muted:#5b6770;--line:#d5dde5;--accent:#0175c2;--accent-deep:#015a96;--danger:#dc2626;--radius:16px;--nav-h:64px;--header-h:56px;--home-header-h:72px;--max:28rem;--font-display:var(--font-outfit);--font-body:var(--font-source-sans);--header-bar:#d3d3d3;--body-glow:#c5d9ea;--body-mid:#d7e4ef;--body-end:#dfe7ee;--btn-on-accent:#fff;--chip-bg:#e4eef7;--warn-bg:#fff7ed;--warn-ink:#9a3412;--warn-line:#fed7aa;--ok-bg:#ecfdf5;--ok-ink:#065f46;--ok-line:#a7f3d0;--badge-book-bg:#dcfce7;--badge-book-ink:#166534;--badge-contact-bg:#f1f5f9;--badge-contact-ink:#475569;--shell-shadow:0 0 0 1px #1d24280f,0 24px 60px #015a961f;--overlay-scrim:#0f172a8c;--map-label-bg:#fff;--map-label-ink:#1d2428}[data-theme=dark]{--bg:#070b14;--shell:#0f172a;--surface:#1e293b;--surface-elevated:#273549;--ink:#f8fafc;--muted:#cbd5e1;--line:#475569;--accent:#38bdf8;--accent-deep:#7dd3fc;--danger:#fca5a5;--header-bar:#1e293b;--body-glow:#1e3a5f;--body-mid:#0b1220;--body-end:#020617;--btn-on-accent:#0b1220;--chip-bg:var(--accent)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--chip-bg:color-mix(in srgb,var(--accent) 24%,var(--surface))}}[data-theme=dark]{--warn-bg:#fb923c}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--warn-bg:color-mix(in srgb,#fb923c 22%,var(--surface))}}[data-theme=dark]{--warn-ink:#fdba74;--warn-line:#fb923c}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--warn-line:color-mix(in srgb,#fb923c 45%,var(--line))}}[data-theme=dark]{--ok-bg:#34d399}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--ok-bg:color-mix(in srgb,#34d399 18%,var(--surface))}}[data-theme=dark]{--ok-ink:#6ee7b7;--ok-line:#34d399}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--ok-line:color-mix(in srgb,#34d399 40%,var(--line))}}[data-theme=dark]{--badge-book-bg:#34d399}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--badge-book-bg:color-mix(in srgb,#34d399 22%,var(--surface))}}[data-theme=dark]{--badge-book-ink:#6ee7b7;--badge-contact-bg:#94a3b8}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--badge-contact-bg:color-mix(in srgb,#94a3b8 20%,var(--surface))}}[data-theme=dark]{--badge-contact-ink:#e2e8f0;--shell-shadow:0 0 0 1px #94a3b824,0 24px 60px #00000073;--overlay-scrim:#020617b8;--map-label-bg:#1e293b;--map-label-ink:#f8fafc}*{box-sizing:border-box}body,html{height:100%}body{color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;background:radial-gradient(1200px 600px at 50% -10%,var(--body-glow) 0,transparent 55%),linear-gradient(180deg,var(--body-mid) 0,var(--bg) 40%,var(--body-end) 100%);-webkit-font-smoothing:antialiased;margin:0;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;height:auto}.app-shell{min-height:100dvh;box-shadow:var(--shell-shadow);flex-direction:column;margin:0 auto;position:relative}.app-header,.app-shell{width:min(100%,var(--max));background:var(--shell);display:flex}.app-header{z-index:40;height:var(--header-h);justify-content:space-between;align-items:center;gap:12px;padding:0 16px;position:fixed;top:0;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.app-header{background:color-mix(in srgb,var(--shell) 94%,transparent)}}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.app-header__left{flex-shrink:0;align-items:center;gap:4px;min-width:0;max-width:48%;display:flex}.app-header__left .app-logo--header{max-width:min(120px,36vw);height:26px}.app-header__title{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;text-align:right;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:52%;margin:0 0 0 auto;font-size:1.05rem;font-weight:700;overflow:hidden}.app-header__back{color:var(--ink);flex-shrink:0;justify-content:center;align-items:center;width:32px;margin-left:-6px;display:inline-flex}.app-header__spacer{flex-shrink:0;width:36px}.app-header__action{flex-shrink:0;justify-content:flex-end;min-width:36px;display:flex}.app-logo{object-fit:contain;background:0 0;max-width:100%;height:auto;display:block}.app-main{padding-bottom:calc(var(--nav-h) + 16px);flex:1}.app-main--with-header{padding-top:var(--header-h)}.app-main--flush{padding-bottom:0}.bottom-nav{width:min(100%,var(--max));height:var(--nav-h);background:var(--surface);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.bottom-nav{background:color-mix(in srgb,var(--surface) 92%,transparent)}}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:30}.bottom-nav__item{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.68rem;font-weight:600;display:flex}.bottom-nav__item.is-active{color:var(--accent)}.boot-screen{text-align:center;place-content:center;gap:8px;min-height:100dvh;display:grid}.brand-mark{font-family:var(--font-display),sans-serif;letter-spacing:-.04em;color:var(--accent-deep);margin:0;font-size:2rem;font-weight:700}.boot-screen__sub{color:var(--muted);margin:0}.stack{flex-direction:column;display:flex}.gap-3{gap:12px}.gap-4{gap:16px}.px-4{padding-left:16px;padding-right:16px}.pb-4{padding-bottom:16px}.pt-4{padding-top:16px}.feed-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);animation:rise .45s both;overflow:hidden}.feed-card__head{align-items:center;gap:10px;padding:12px 14px;display:flex}.feed-card__avatar{object-fit:cover;border-radius:999px;width:40px;height:40px}.feed-card__author{margin:0;font-size:.95rem;font-weight:700}.feed-card__meta{color:var(--muted);margin:0;font-size:.78rem}.feed-card__media{aspect-ratio:4/3;background:#c9d5e0;position:relative}.feed-card__body{flex-direction:column;gap:8px;padding:12px 14px 16px;display:flex}.feed-card__caption{margin:0;line-height:1.45}.feed-card__place{color:var(--accent);font-size:.85rem;font-weight:600}.feed-card__place,.icon-btn{align-items:center;gap:6px;display:inline-flex}.icon-btn{color:var(--ink);cursor:pointer;background:0 0;border:0;width:fit-content;padding:0}.icon-btn.is-liked{color:var(--danger)}.place-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);animation:rise .4s both;position:relative;overflow:hidden}.place-card__link{display:block}.place-card__media{aspect-ratio:16/10;background:#c9d5e0;position:relative}.place-card__body{padding:12px 14px 14px}.place-card__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.place-card__body h3{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;margin:0;font-size:1.05rem}.place-card__body p{color:var(--muted);margin:6px 0 0;font-size:.9rem}.place-card__price{font-weight:700;color:var(--accent-deep)!important}.place-card__rating{color:#b45309;align-items:center;gap:4px;font-size:.8rem;font-weight:700;display:inline-flex}.place-card__save{width:36px;height:36px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.place-card__save.is-saved{color:var(--danger)}.detail__hero{aspect-ratio:5/4;background:#c9d5e0;position:relative}.detail__back,.detail__save{width:40px;height:40px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:14px}.detail__back{left:14px}.detail__save{right:14px}.detail__save.is-saved{color:var(--danger)}.detail__content{padding:18px 16px 28px}.detail__content h1{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;margin:4px 0 8px;font-size:1.7rem;line-height:1.15}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0;font-size:.72rem;font-weight:700}.detail__loc{color:var(--muted);align-items:center;gap:6px;margin:0;display:flex}.detail__meta{color:var(--accent-deep);flex-wrap:wrap;gap:12px;margin-top:10px;font-weight:700;display:flex}.detail__meta span{align-items:center;gap:4px;display:inline-flex}.detail__desc{color:var(--ink);margin:14px 0;line-height:1.55}.detail__cta{width:100%;margin-top:8px}.tag-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tag{background:var(--chip-bg);color:var(--accent-deep);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:700;transition:transform .15s,background .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn--primary{background:var(--accent);color:var(--btn-on-accent)}.btn--primary:hover{background:var(--accent-deep);color:var(--btn-on-accent)}.btn--ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn--sm{padding:8px 12px;font-size:.85rem}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:.85rem;font-weight:600}.field input,.field textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:12px 14px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.field input:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}}.field input:focus,.field textarea:focus{border-color:var(--accent)}.password-field{align-items:center;display:flex;position:relative}.password-field input{width:100%;padding-right:44px}.password-field__toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-field__toggle:hover{color:var(--accent-deep);background:#e8f1f8}.btn--google{background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--line)}.btn--google:hover{background:#f8fafc}.auth-divider{color:var(--muted);align-items:center;gap:12px;font-size:.82rem;font-weight:600;display:flex}.auth-divider:after,.auth-divider:before{content:"";background:var(--line);flex:1;height:1px}.auth-row{justify-content:flex-end;display:flex}.auth-link{color:var(--accent);font-size:.9rem;font-weight:700}.auth-screen,.onboard-screen{background:linear-gradient(180deg,#0175c22e,transparent 40%),var(--shell);flex-direction:column;justify-content:center;gap:20px;min-height:100dvh;padding:28px 20px 40px;display:flex}.onboard-screen__hero{border-radius:20px;height:42vh;min-height:220px;margin-bottom:8px;position:relative;overflow:hidden}.auth-screen h1,.onboard-screen h1{font-family:var(--font-display),sans-serif;letter-spacing:-.04em;margin:0;font-size:2rem;line-height:1.1}.auth-screen p.lead,.onboard-screen p{color:var(--muted);margin:0;line-height:1.5}.dir-grid{grid-template-columns:1fr 1fr;gap:12px;padding:16px;display:grid}.dir-tile{text-align:left;color:#fff;border:0;border-radius:18px;flex-direction:column;justify-content:flex-end;gap:4px;min-height:120px;padding:18px 14px;transition:transform .2s;display:flex;box-shadow:inset 0 0 0 1px #ffffff26}.dir-tile:hover{transform:translateY(-2px)}.dir-tile strong{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;font-size:1.15rem}.dir-tile span{opacity:.9;font-size:.82rem}.map-panel{height:calc(100dvh - var(--nav-h));background:linear-gradient(160deg,#b9d4e8,#eef4f8 45%,#cfe0ec),var(--shell);position:relative;overflow:hidden}.map-panel__grid{background-image:linear-gradient(#0175c214 1px,#0000 0),linear-gradient(90deg,#0175c214 1px,#0000 0);background-size:32px 32px;position:absolute;inset:0}.map-pin{cursor:pointer;flex-direction:column;align-items:center;gap:4px;animation:pop .35s both;display:flex;position:absolute;transform:translate(-50%,-100%)}.map-pin__dot{background:var(--accent);border:3px solid #fff;border-radius:999px;width:16px;height:16px;box-shadow:0 4px 12px #015a9659}.map-pin__label{background:var(--map-label-bg);color:var(--map-label-ink);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:120px;padding:4px 8px;font-size:.72rem;font-weight:700;overflow:hidden}.map-sheet{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;position:absolute;bottom:16px;left:12px;right:12px;box-shadow:0 12px 30px #1d24281f}.map-sheet h2{font-family:var(--font-display),sans-serif;margin:0 0 4px;font-size:1.1rem}.map-sheet p{color:var(--muted);margin:0 0 10px;font-size:.9rem}.profile-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 16px 8px;display:flex}.profile-hero img{object-fit:cover;border-radius:999px}.profile-hero h2{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;margin:0}.role-badge{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#0175c2;border-radius:999px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.profile-hero p{color:var(--muted);margin:0}.profile-actions{flex-direction:column;gap:10px;padding:16px;display:flex}.profile-photo-card{flex-direction:column;align-items:stretch;gap:10px}.profile-details-card{flex-direction:column;align-items:stretch;gap:12px}.profile-details-card__title{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;margin:0;font-size:1.05rem}.profile-theme-row{cursor:default;flex-direction:row;align-items:center}.profile-theme-row__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-theme-row__copy span{color:var(--muted);font-size:.8rem;font-weight:500}.permission-checklist{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:0;padding:14px 16px}@supports (color:color-mix(in lab,red,red)){.permission-checklist{background:color-mix(in srgb,var(--surface) 80%,transparent)}}.permission-checklist legend{padding:0 6px;font-size:.95rem;font-weight:700}.permission-checklist__bulk{gap:8px;margin-bottom:10px;display:flex}.permission-checklist__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.permission-checklist__item{border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.permission-checklist__item input{flex-shrink:0;margin-top:3px}.permission-checklist__item span{flex-direction:column;gap:2px;min-width:0;display:flex}.permission-checklist__item strong{font-size:.9rem}.permission-checklist__item em{color:var(--muted);font-size:.75rem;font-style:normal}.admin-row--users{flex-direction:column;align-items:stretch}@media (max-width:720px){.permission-checklist__grid{grid-template-columns:1fr}}@media (max-width:900px){.profile-theme-row{flex-direction:row}}.empty{text-align:center;color:var(--muted);padding:48px 16px}.install-banner{top:var(--header-h);z-index:15;background:var(--accent);border-radius:14px;margin:12px 16px 0;padding:12px;position:sticky}@supports (color:color-mix(in lab,red,red)){.install-banner{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}.install-banner{border:1px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.install-banner{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))}}.install-banner{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;animation:rise .4s both;display:flex}.install-banner__title{color:var(--ink);margin:0;font-size:.92rem;font-weight:700}.install-banner__sub{color:var(--muted);margin:2px 0 0;font-size:.78rem}.install-banner__actions{flex-shrink:0;gap:6px;display:flex}.install-banner__actions .btn--ghost{background:var(--surface-elevated);border-color:var(--line);color:var(--ink)}.feeds-brand{padding:16px 16px 8px}.feeds-brand h1{font-family:var(--font-display),sans-serif;letter-spacing:-.04em;color:var(--accent-deep);margin:0;font-size:1.65rem}.feeds-brand p{color:var(--muted);margin:4px 0 0}body.admin-web,html.admin-web{background:#e8eef4!important}.admin-webapp{--bg:#e8eef4;--shell:#f1f4f8;--surface:#fff;--surface-elevated:#fff;--ink:#1d2428;--muted:#5b6770;--line:#d5dde5;--accent:#0175c2;--accent-deep:#015a96;--danger:#dc2626;--btn-on-accent:#fff;--chip-bg:#e4eef7;--warn-bg:#fff7ed;--warn-ink:#9a3412;--warn-line:#fed7aa;--ok-bg:#ecfdf5;--ok-ink:#065f46;--ok-line:#a7f3d0;--badge-book-bg:#dcfce7;--badge-book-ink:#166534;--badge-contact-bg:#f1f5f9;--badge-contact-ink:#475569;--overlay-scrim:#0f172a8c;width:100%;min-height:100dvh;color:var(--ink);background:#e8eef4;display:flex}.admin-backdrop{z-index:40;cursor:pointer;background:#0f172a73;border:0;display:none;position:fixed;inset:0}.admin-backdrop.is-open{display:block}.admin-sidebar{color:#e2e8f0;z-index:50;flex-direction:column;align-self:flex-start;width:260px;height:100dvh;max-height:100dvh;overflow:hidden}.admin-sidebar,.admin-sidebar__brand{background:#0f172a;flex-shrink:0;display:flex;position:sticky;top:0}.admin-sidebar__brand{z-index:2;border-bottom:1px solid #94a3b833;align-items:center;gap:12px;padding:20px 18px}.admin-sidebar__brand strong,.admin-sidebar__logo{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;color:#f8fafc;object-fit:contain;max-width:160px;height:auto;margin:0;font-size:1rem;font-weight:700;display:block}.admin-sidebar__brand span{color:#94a3b8;font-size:.75rem;display:block}.admin-sidebar__close{color:#94a3b8;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px;display:none}.admin-sidebar__nav{overscroll-contain:contain;flex-direction:column;flex:1;gap:4px;min-height:0;padding:16px 12px;display:flex;overflow-y:auto}.admin-sidebar__link{color:#cbd5e1;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-size:.92rem;font-weight:600;transition:background .15s,color .15s;display:flex}.admin-sidebar__link:hover{color:#fff;background:#94a3b81f}.admin-sidebar__link.is-active{color:#fff;background:#0175c2}.admin-sidebar__footer{background:#0f172a;border-top:1px solid #94a3b833;flex-direction:column;flex-shrink:0;gap:12px;padding:14px;display:flex}.admin-sidebar__user{align-items:center;gap:10px;display:flex}.admin-sidebar__avatar{object-fit:cover;border-radius:999px;width:36px;height:36px}.admin-sidebar__user strong{font-size:.88rem;display:block}.admin-sidebar__user span{color:#94a3b8;word-break:break-all;font-size:.72rem;display:block}.admin-sidebar__app-link{color:#e2e8f0;border:1px solid #94a3b859;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.admin-sidebar__app-link:hover{background:#94a3b81f}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:12px;padding:18px 24px;display:flex;position:sticky;top:0}.admin-topbar h1{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;margin:0;font-size:1.45rem}.admin-topbar__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem;font-weight:700}.admin-topbar__menu{border:1px solid var(--line);background:var(--surface-elevated);cursor:pointer;width:40px;height:40px;color:var(--ink);border-radius:10px;place-items:center;display:none}.admin-content{flex-direction:column;gap:16px;width:100%;max-width:1100px;padding:24px;display:flex}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-stat{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:14px;padding:18px 16px}.admin-stat strong{font-family:var(--font-display),sans-serif;color:var(--accent-deep);font-size:1.75rem;display:block}.admin-stat span{color:var(--muted);font-size:.85rem;font-weight:600}.admin-card{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:18px}.admin-card h2{font-family:var(--font-display),sans-serif;margin:0;font-size:1.1rem}.admin-muted{color:var(--muted);margin:0;font-size:.92rem}.admin-toolbar{justify-content:space-between;gap:12px}.admin-actions,.admin-toolbar{flex-wrap:wrap;align-items:center;display:flex}.admin-actions{gap:8px}.admin-row{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.admin-card select,.admin-select,.field select{border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);font:inherit;border-radius:12px;padding:10px 12px}.admin-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:900px){.admin-sidebar{height:100dvh;max-height:100dvh;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:12px 0 40px #0f172a40}.admin-sidebar.is-open{transform:translate(0)}.admin-sidebar__close,.admin-topbar__menu{display:grid}.admin-content{padding:16px}.admin-stats{grid-template-columns:1fr}.admin-row{flex-direction:column}}@media (max-width:640px){.admin-grid-2{grid-template-columns:1fr}.admin-topbar{padding:14px 16px}}.home-modules{grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 16px;display:grid}.home-module{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:16px;flex-direction:column;gap:6px;min-height:110px;padding:14px;display:flex}.home-module strong{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;font-size:.95rem}.home-module span{color:var(--muted);font-size:.8rem;line-height:1.35}.home-portal-header{width:min(100%,var(--max));z-index:40;min-height:var(--home-header-h);background:var(--header-bar);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.home-portal-header{background:color-mix(in srgb,var(--header-bar) 94%,transparent)}}.home-portal-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.home-portal-header-spacer{height:var(--home-header-h);flex-shrink:0}.home-portal-header__brand{flex-shrink:0;align-items:center;max-width:34%;display:flex}.home-portal-header__logo{object-fit:contain;width:auto;max-width:min(112px,28vw);height:auto;max-height:32px;font-family:var(--font-display),sans-serif;letter-spacing:-.03em;color:var(--accent-deep);background:0 0;margin:0;font-size:1rem;font-weight:700;line-height:1.1}.home-portal-header__greeting{text-align:center;min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:1.15rem;font-weight:500;line-height:1.2;overflow:hidden}.home-portal-header__greeting-lead{font-family:var(--font-cursive),cursive;letter-spacing:.01em;color:var(--ink);font-size:1.45rem;font-weight:600}.home-portal-header__greeting strong{font-family:var(--font-display),sans-serif;color:var(--accent-deep);font-size:1.2rem;font-weight:800}.home-portal-header__caret{vertical-align:-.12em;background:var(--accent-deep);width:1.5px;height:1.05em;margin-left:2px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.home-portal-header__caret{background:color-mix(in srgb,var(--accent-deep) 75%,transparent)}}.home-portal-header__caret{border-radius:1px;animation:greeting-caret 1.4s step-end infinite}@keyframes greeting-caret{0%,48%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.home-portal-header__caret{animation:none;display:none}}.theme-toggle{background:var(--surface);border:0;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.theme-toggle{background:color-mix(in srgb,var(--surface) 70%,transparent)}}.theme-toggle{color:var(--ink);cursor:pointer;flex-shrink:0;transition:background .15s,transform .12s}.theme-toggle:hover{background:var(--surface)}.theme-toggle:active{transform:scale(.96)}.theme-toggle:disabled{opacity:.6}.theme-toggle--compact{border-radius:10px;width:36px;height:36px}.home-portal-header__place{text-align:right;flex-shrink:0;max-width:32%}.home-portal-header__place p{font-family:var(--font-display),sans-serif;color:var(--accent-deep);letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:800;line-height:1.1}.home-portal-header__place span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:.72rem;font-weight:700;display:block}.home-feature-grid{padding:8px 0 12px}.home-feature-grid__inner{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 16px;display:grid}.home-feature-cell{aspect-ratio:1;background:var(--accent);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:8px 4px;display:flex}@supports (color:color-mix(in lab,red,red)){.home-feature-cell{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}}.home-feature-cell{color:var(--accent-deep);text-decoration:none;transition:transform .15s,opacity .15s,box-shadow .15s}.home-feature-cell:hover{opacity:.9;box-shadow:0 4px 14px #015a961f}.home-feature-cell:active{transform:scale(.96)}.home-feature-cell__icon{flex-shrink:0}.home-feature-cell__label{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.68rem;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.home-carousel{margin-bottom:20px}.home-carousel__head{justify-content:space-between;align-items:baseline;gap:12px;padding:0 16px 10px;display:flex}.home-carousel__head h2{color:var(--accent-deep);letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:800}.home-carousel__see-all{color:var(--accent);font-size:.8rem;font-weight:600;text-decoration:none}.home-carousel__track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding:0 16px 4px;display:flex;overflow-x:auto}.home-carousel__track::-webkit-scrollbar{display:none}.home-carousel__card{scroll-snap-align:start;border:1px solid var(--line);background:var(--surface);width:280px;color:inherit;border-radius:14px;flex:0 0 280px;text-decoration:none;transition:transform .15s;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}.home-carousel__card:active{transform:scale(.985)}.home-carousel__card--full{flex-basis:auto;width:100%}.home-carousel__media{background:#e2e8f0;width:100%;height:150px;position:relative}.home-carousel__body{padding:12px}.home-carousel__title{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.home-carousel__sub,.home-carousel__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-carousel__sub{color:var(--muted);margin:4px 0 0;font-size:.75rem;line-height:1.35}.home-carousel__dots{justify-content:center;gap:6px;margin-top:8px;display:flex}.home-carousel__dot{cursor:pointer;background:#cbd5e1;border:0;border-radius:999px;width:6px;height:6px;padding:0;transition:width .2s,background .2s}.home-carousel__dot--active{background:var(--accent);width:16px}.home-featured-banner{margin-bottom:20px}.home-featured-banner__track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:14px;margin:0 16px;display:flex;overflow-x:auto}.home-featured-banner__track::-webkit-scrollbar{display:none}.home-featured-banner__slide{scroll-snap-align:start;flex:0 0 100%;width:100%;min-width:100%}.home-featured-banner__card{border:1px solid var(--line);color:inherit;border-radius:14px;text-decoration:none;display:block;overflow:hidden}.home-featured-banner__media{background:#0f172a;width:100%;height:180px;position:relative}.home-featured-banner__scrim{background:linear-gradient(#0000,#0f172a26 45%,#0f172ad9);position:absolute;inset:0}.home-featured-banner__copy{color:#f8fafc;padding:14px 16px;position:absolute;bottom:0;left:0;right:0}.home-featured-banner__copy h3{letter-spacing:-.02em;margin:4px 0 0;font-size:1.1rem;font-weight:800;line-height:1.25}.home-more-links{flex-wrap:wrap;gap:8px;padding:4px 16px 24px;display:flex}.home-more-links a{color:var(--accent-deep);background:var(--accent);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:600;text-decoration:none}@supports (color:color-mix(in lab,red,red)){.home-more-links a{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}}.home-more-links a{transition:transform .12s}.home-more-links a:active{transform:scale(.96)}.detail__eyebrow-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.place-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:4px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.place-badge--book{background:var(--badge-book-bg);color:var(--badge-book-ink)}.place-badge--contact{background:var(--badge-contact-bg);color:var(--badge-contact-ink)}.place-badge--overlay{z-index:2;position:absolute;top:10px;left:10px;box-shadow:0 1px 4px #0f172a26}.place-booking__banner{border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.place-booking__banner p{margin:4px 0 0;font-size:.82rem;line-height:1.4}.place-booking__banner--ok{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-line)}.place-booking__banner--off{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line)}.place-booking__contact{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:12px}.place-booking__owner{margin:0 0 8px;font-weight:700}.place-booking__channels{flex-wrap:wrap;gap:8px;display:flex}.place-reviews{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.place-reviews__head h2{margin:0;font-size:1.05rem}.place-reviews__avg{color:var(--accent-deep);align-items:center;gap:6px;margin:6px 0 0;font-weight:700;display:inline-flex}.place-reviews__avg span{color:var(--muted);font-size:.85rem;font-weight:500}.place-reviews__form{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:12px}.place-reviews__stars{gap:4px;display:flex}.place-reviews__star{color:var(--muted);background:0 0;border:0}@supports (color:color-mix(in lab,red,red)){.place-reviews__star{color:color-mix(in srgb,var(--muted) 70%,var(--line))}}.place-reviews__star{cursor:pointer;padding:2px}.place-reviews__star.is-active{color:#f59e0b}.place-reviews__item{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px}.place-reviews__item-head{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.place-reviews__item-head span{color:var(--accent-deep);align-items:center;gap:4px;font-size:.85rem;font-weight:700;display:inline-flex}.place-reviews__item p{margin:0;line-height:1.45}.home-alert{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:14px;align-items:flex-start;gap:10px;margin:0 16px 14px;padding:12px;display:flex}.home-alert strong{font-size:.9rem;display:block}.home-alert span{opacity:.85;font-size:.75rem}.eco-pass-card{color:#e2e8f0;background:#0f172a;border-radius:18px;flex-direction:column;gap:10px;padding:18px;display:flex}.eco-pass-card__code{font-family:var(--font-display),sans-serif;letter-spacing:.02em;word-break:break-all;margin:0;font-size:1.1rem}.eco-pass-card__qr{background:repeating-linear-gradient(0deg,#fff 0 8px,#0f172a 8px 16px),repeating-linear-gradient(90deg,#fff 0 8px,#0f172a 8px 16px);border:6px solid #fff;border-radius:12px;width:160px;height:160px;margin:8px auto}.image-uploader{flex-direction:column;gap:8px;display:flex}.image-uploader__label{color:var(--muted);font-size:.85rem;font-weight:600}.image-uploader__preview{object-fit:contain;border:1px solid var(--line);background:linear-gradient(45deg,var(--line) 25%,transparent 25%) 0 0 /12px 12px,linear-gradient(-45deg,var(--line) 25%,transparent 25%) 0 6px /12px 12px,linear-gradient(45deg,transparent 75%,var(--line) 75%) 6px -6px /12px 12px,linear-gradient(-45deg,transparent 75%,var(--line) 75%) -6px 0 /12px 12px,var(--surface-elevated);border-radius:12px;width:120px;height:120px}@supports (color:color-mix(in lab,red,red)){.image-uploader__preview{background:linear-gradient(45deg,color-mix(in srgb,var(--line) 55%,transparent) 25%,transparent 25%) 0 0 /12px 12px,linear-gradient(-45deg,color-mix(in srgb,var(--line) 55%,transparent) 25%,transparent 25%) 0 6px /12px 12px,linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--line) 55%,transparent) 75%) 6px -6px /12px 12px,linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--line) 55%,transparent) 75%) -6px 0 /12px 12px,var(--surface-elevated)}}.image-uploader__preview--wide{width:min(100%,280px);height:96px}.image-uploader__preview--round{border-radius:999px}.image-uploader__pick{cursor:pointer;width:fit-content}.crop-modal{z-index:100;background:var(--overlay-scrim);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.crop-modal__panel{background:var(--surface-elevated);width:min(100%,560px);color:var(--ink);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #0f172a4d}.crop-modal__stage{background:#0f172a;height:320px;position:relative}.crop-modal__stage--transparent{background-color:#cbd5e1;background-image:linear-gradient(45deg,#94a3b8 25%,#0000 0),linear-gradient(-45deg,#94a3b8 25%,#0000 0),linear-gradient(45deg,#0000 75%,#94a3b8 0),linear-gradient(-45deg,#0000 75%,#94a3b8 0);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.crop-modal__controls{flex-direction:column;gap:12px;padding:14px;display:flex}.crop-modal__controls label{color:var(--muted);flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-100%)scale(.7)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.weather-glance{color:#e0f2fe;background:linear-gradient(135deg,#0c4a6e,#0369a1 55%,#0284c7);border-radius:14px;align-items:center;gap:10px;margin:0 16px 14px;padding:12px 14px;text-decoration:none;display:flex}.weather-glance__more{opacity:.85;margin-left:auto;font-size:.8rem}.weather-card{color:#e2e8f0;background:linear-gradient(160deg,#0f172a,#1e3a5f);border-radius:18px;flex-direction:column;gap:8px;padding:22px;display:flex}.weather-card__temp{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;margin:0;font-size:2.4rem}.featured-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.featured-card__media{aspect-ratio:16/10;background:#0f172a;width:100%;position:relative}.featured-card__body{color:var(--ink);padding:14px 16px 16px}[data-theme=dark] .bottom-nav{background:var(--surface)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .bottom-nav{background:color-mix(in srgb,var(--surface) 92%,transparent)}}[data-theme=dark] .app-header__title,[data-theme=dark] .brand-mark,[data-theme=dark] .home-portal-header__greeting-lead{color:var(--ink)}[data-theme=dark] .home-portal-header__greeting strong,[data-theme=dark] .home-portal-header__place p{color:var(--accent-deep)}[data-theme=dark] .home-carousel__head h2,[data-theme=dark] .home-carousel__title,[data-theme=dark] .home-feature-cell__label{color:var(--ink)}[data-theme=dark] .home-carousel__sub,[data-theme=dark] .home-portal-header__place span{color:var(--muted)}[data-theme=dark] .field input,[data-theme=dark] .field textarea,[data-theme=dark] .password-field input{background:var(--surface-elevated);color:var(--ink);border-color:var(--line)}[data-theme=dark] .field input::placeholder,[data-theme=dark] .field textarea::placeholder{color:var(--muted)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .field input::placeholder,[data-theme=dark] .field textarea::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}}[data-theme=dark] .crop-modal__controls{background:var(--surface-elevated);color:var(--ink)}[data-theme=dark] .crop-modal__controls label{color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}