@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_0a80b4{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.__variable_0a80b4{--font-playfair:"Playfair Display","Playfair Display Fallback"}@font-face{font-family:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/1abbc144918f74fd-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/17cf9497af825577-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:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8c96cc4bd2a39381-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:Vazirmatn Fallback;src:local("Arial");ascent-override:101.87%;descent-override:53.36%;line-gap-override:0.00%;size-adjust:100.66%}.__className_2e86e3{font-family:Vazirmatn,Vazirmatn Fallback;font-style:normal}.__variable_2e86e3{--font-vazirmatn:"Vazirmatn","Vazirmatn Fallback"}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/fb12bdfc6f99d938-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/62302112983b9adb-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/23ac320f673cd739-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/469cc11bd0b50783-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:Noto Naskh Arabic;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/bb366efcc8bf7b48-s.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:Noto Naskh Arabic Fallback;src:local("Times New Roman");ascent-override:91.43%;descent-override:54.22%;line-gap-override:0.00%;size-adjust:116.92%}.__className_6634df{font-family:Noto Naskh Arabic,Noto Naskh Arabic Fallback;font-style:normal}.__variable_6634df{--font-noto-naskh:"Noto Naskh Arabic","Noto Naskh Arabic Fallback"}.hotel-atmosphere{position:relative;isolation:isolate;color:var(--hotel-text,#f5f5f7);background:var(--hotel-gradient);min-height:100%}.hotel-atmosphere-layer{pointer-events:none;position:absolute;inset:0;z-index:0;background:var(--hotel-atmosphere);opacity:1}.hotel-atmosphere>:not(.hotel-atmosphere-layer){position:relative;z-index:1}.hotel-atmosphere--hairline .hotel-atmosphere-layer:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 119px,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 120px);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 70%);mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 70%)}.hotel-atmosphere--wave .hotel-atmosphere-layer:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 20% at 50% 100%,var(--hotel-accent-soft),transparent),radial-gradient(ellipse 60% 15% at 30% 95%,var(--hotel-accent-soft),transparent);opacity:.85;animation:hotel-wave 12s ease-in-out infinite alternate}.hotel-atmosphere--lattice .hotel-atmosphere-layer:after{content:"";position:absolute;inset:0;opacity:.07;background-image:linear-gradient(var(--hotel-accent) 1px,transparent 1px),linear-gradient(90deg,var(--hotel-accent) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 20%,#000,transparent);mask-image:radial-gradient(ellipse 70% 60% at 50% 20%,#000,transparent)}.hotel-atmosphere--aurora .hotel-atmosphere-layer:after{content:"";position:absolute;inset:-20%;background:conic-gradient(from 180deg at 50% 0,transparent,var(--hotel-accent-soft),transparent 40%);animation:hotel-aurora 18s linear infinite;opacity:.55}.hotel-atmosphere--dune .hotel-atmosphere-layer:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 100% 40% at 50% 110%,rgba(200,180,140,.18),transparent 55%),radial-gradient(ellipse 80% 25% at 20% 100%,rgba(200,180,140,.1),transparent)}.hotel-atmosphere--atrium .hotel-atmosphere-layer:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--hotel-accent-soft) 0,transparent 35%,transparent 65%,var(--hotel-accent-soft) 100%);opacity:.7}@keyframes hotel-wave{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes hotel-aurora{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes hotel-brand-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hotel-promise{margin:0 0 .35rem;font-size:.7rem;text-transform:uppercase;letter-spacing:var(--hotel-tracking,.08em);color:var(--hotel-accent);font-weight:500;opacity:.9;animation:hotel-brand-enter var(--hotel-motion-enter,.5s) ease-out both}.hotel-name{font-weight:var(--hotel-display-weight,400)!important}.hotel-monogram{border-radius:var(--hotel-radius,8px)!important;border-color:var(--hotel-accent)!important;color:var(--hotel-accent)!important;animation:hotel-brand-enter calc(var(--hotel-motion-enter, .5s) * .85) ease-out both}.hotel-hero{border-bottom:var(--hotel-hero-border,1px solid rgba(255,255,255,.08))!important;background:transparent!important}.hotel-badge.flagship{border-color:var(--hotel-accent)!important;color:var(--hotel-accent)!important}[data-mood=couture_minimal] .hotel-name{font-size:1.05rem;text-transform:none}[data-mood=couture_minimal] .hotel-badge{border-radius:0;letter-spacing:.14em}[data-mood=couture_minimal] .companion-header h1{letter-spacing:.02em;text-transform:none;font-size:1.15rem}html[lang=en] [data-mood=couture_minimal] .companion-header h1{letter-spacing:.16em;text-transform:uppercase}[data-mood=gulf_resort] .hotel-badge,[data-mood=island_serene] .hotel-badge,[data-mood=poetic_garden] .hotel-badge{border-radius:999px}[data-mood=heritage_garden] .hotel-signature{font-style:italic}[data-mood=tower_drama] .hotel-monogram{border-width:2px}:root{--color-gold:#c9a962;--color-gold-light:#e8d5a3;--hotel-accent:var(--color-gold);--hotel-accent-muted:#2a2a35;--hotel-gradient:linear-gradient(145deg,#0a0a0f,#14141e 48%,#0e1016);--hotel-guest-bubble:#2d4a3e;--hotel-companion-bubble:linear-gradient(160deg,#16161f,#12121a);--hotel-atmosphere:transparent;--hotel-radius:8px;--hotel-tracking:0.04em;--hotel-display-weight:400;--hotel-hero-border:1px solid rgba(255,255,255,0.08);--hotel-motion-enter:0.45s;--hotel-accent-soft:rgba(201,169,98,0.12);--color-bg:#0a0a0f;--color-bg-elevated:#12121a;--color-border:#2a2a35;--color-text:#f5f5f7;--color-text-muted:#a0a0a8;--font-display:var(--font-playfair),"Playfair Display",Georgia,serif;--font-body:var(--font-vazirmatn),"Vazirmatn",system-ui,sans-serif;--font-arabic:var(--font-noto-naskh),"Noto Naskh Arabic",serif}*{box-sizing:border-box}html{height:100%}body{min-height:100%;font-family:var(--font-body);background:var(--hotel-surface,#0a0a0f);color:var(--hotel-text,var(--color-text));-webkit-font-smoothing:antialiased;margin:0}.companion-shell{min-height:100vh}html[lang=ar] .companion-container,html[lang=ar] body{font-family:var(--font-arabic)}html[lang=fa] .companion-container,html[lang=fa] body{font-family:var(--font-body)}.hotel-hero{margin:-1.5rem -1.5rem 0;padding:1rem 1.5rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.hotel-identity-banner{display:flex;gap:1rem;align-items:flex-start;margin-top:.75rem}.hotel-monogram{width:52px;height:52px;border-radius:12px;border:1px solid var(--hotel-accent);color:var(--hotel-accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.05em;background:rgba(0,0,0,.25);flex-shrink:0}.hotel-identity-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.hotel-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .45rem;border-radius:4px;border:1px solid var(--hotel-accent-muted);color:#d0d0d8}.hotel-badge.flagship{border-color:var(--hotel-accent);color:var(--hotel-accent);background:rgba(255,255,255,.04)}.hotel-badge.tier{color:#a0a0a8}.hotel-badge.stars{color:var(--hotel-accent);letter-spacing:.05em}.hotel-name{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:var(--hotel-display-weight,400);letter-spacing:var(--hotel-tracking,.02em);color:var(--hotel-text,#f5f5f7);line-height:1.35;animation:hotel-brand-enter var(--hotel-motion-enter,.5s) ease-out .05s both}.hotel-region{margin:.25rem 0 0;font-size:.8rem;color:var(--hotel-text-muted,#a0a0a8)}.hotel-signature{margin:.35rem 0 0;font-size:.85rem;color:var(--hotel-accent);font-style:italic;font-family:var(--font-display);animation:hotel-brand-enter var(--hotel-motion-enter,.5s) ease-out .12s both}.hotel-switcher{display:flex;flex-direction:column;gap:.25rem}.hotel-switcher-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#808088}.hotel-switcher select{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);color:#ececf0;padding:.45rem .6rem;border-radius:6px;font-size:.85rem;font-family:inherit;max-width:100%}.companion-container{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:1.5rem;position:relative}.companion-header{text-align:center;padding:2rem 0;border-bottom:1px solid #2a2a35}.companion-header h1{font-family:var(--font-body);color:var(--hotel-accent);font-size:1.5rem;font-weight:400;margin:.5rem 0;letter-spacing:0}html[lang=en] .companion-header h1{font-family:var(--font-display);letter-spacing:.02em}html[lang=ar] .companion-header h1,html[lang=ar] .hotel-name,html[lang=ar] .hotel-promise,html[lang=ar] .hotel-signature,html[lang=ar] .onboarding-hero h1,html[lang=ar] .onboarding-hero-line,html[lang=fa] .hotel-name,html[lang=fa] .hotel-promise,html[lang=fa] .hotel-signature,html[lang=fa] .onboarding-hero-line{font-family:var(--font-body);font-style:normal;letter-spacing:0}html[lang=ar] .companion-header h1,html[lang=ar] .hotel-name,html[lang=ar] .hotel-promise,html[lang=ar] .hotel-signature,html[lang=ar] .onboarding-hero h1,html[lang=ar] .onboarding-hero-line{font-family:var(--font-arabic)}html[lang=ar] .companion-role,html[lang=ar] .onboarding-label,html[lang=ar] .portrait-style-label,html[lang=fa] .companion-role,html[lang=fa] .onboarding-label,html[lang=fa] .portrait-style-label{text-transform:none;letter-spacing:.02em}.companion-avatar{width:88px;height:88px;border-radius:50%;border:2px solid var(--hotel-accent);object-fit:cover;margin:0 auto;display:block;transition:opacity .25s ease,transform .25s ease}.portrait-style-picker{margin:1rem auto .75rem;max-width:280px}.portrait-style-label{margin:0 0 .5rem;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.portrait-style-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem}.portrait-style-option{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.45rem .35rem .55rem;border-radius:10px;border:1px solid #2a2a35;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.portrait-style-option img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid #3a3a48}.portrait-style-option span{font-size:.75rem}.portrait-style-option.active{color:var(--hotel-accent);background:color-mix(in srgb,var(--hotel-accent) 12%,transparent)}.portrait-style-option.active,.portrait-style-option.active img{border-color:var(--hotel-accent)}.companion-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--hotel-accent-muted);color:var(--hotel-accent);font-family:var(--font-display);font-size:1.75rem;font-weight:600}.companion-role{margin:.5rem 0 0;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#808088}.credit-banner{background:linear-gradient(90deg,#221610,#12121a);border:1px solid #a06a2a;color:#f0d59a;padding:.75rem 1rem;border-radius:8px;margin:.75rem 0;font-size:.85rem;text-align:center;animation:credit-in .35s ease-out}.credit-banner.danger{border-color:#a02a2a;color:#f0b0b0;background:linear-gradient(90deg,#221010,#12121a)}.proactive-hint{display:flex;flex-direction:column;gap:.2rem;margin:.35rem 0 .15rem;padding:.55rem .85rem;border-radius:6px;border:1px solid rgba(201,169,98,.18);background:rgba(201,169,98,.05);color:var(--color-text-muted);font-size:.8rem;line-height:1.45;letter-spacing:.01em;animation:credit-in .35s ease-out}.proactive-hint-stage{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--hotel-accent,var(--color-gold));opacity:.85}.proactive-hint-text{color:#c8c8d0;font-weight:400}@keyframes credit-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.message.companion{display:flex;gap:.75rem;align-items:flex-start}.message.companion .companion-mini-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid #2a2a35;flex-shrink:0}.message.companion .msg-body{flex:1 1;min-width:0;white-space:pre-line}.lang-switch{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.lang-switch button{background:transparent;border:1px solid #2a2a35;color:#a0a0a8;padding:.25rem .75rem;border-radius:4px;cursor:pointer;font-family:inherit;transition:border-color .2s ease,color .2s ease}.lang-switch button:hover{border-color:rgba(201,169,98,.45);color:var(--color-gold-light)}.lang-switch button.active{border-color:var(--hotel-accent);color:var(--hotel-accent)}.messages{flex:1 1;overflow-y:auto;padding:1rem 0;display:flex;flex-direction:column;gap:1rem}.messages--welcome{justify-content:flex-start}.messages--welcome .message.companion{opacity:.92}.messages--welcome:after{content:attr(data-empty-hint);display:block;margin-top:.5rem;padding:0 .25rem;font-size:.8rem;color:var(--color-text-muted);letter-spacing:.02em;opacity:.75;animation:empty-hint-in .6s ease .35s both}@keyframes empty-hint-in{0%{opacity:0;transform:translateY(4px)}to{opacity:.75;transform:translateY(0)}}.message{padding:1rem;border-radius:8px;max-width:85%;line-height:1.6;animation:message-enter .4s ease-out both}.message.companion{background:var(--hotel-companion-bubble,linear-gradient(160deg,#16161f 0,#12121a 100%));border:1px solid #2a2a35;align-self:flex-start;animation-name:message-enter-companion;white-space:pre-line}.message.guest{background:var(--hotel-guest-bubble);align-self:flex-end;animation-name:message-enter-guest;border:1px solid rgba(255,255,255,.04)}@keyframes message-enter-companion{0%{opacity:0;transform:translateY(10px) translateX(-8px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes message-enter-guest{0%{opacity:0;transform:translateY(10px) translateX(8px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes message-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.is-streaming .msg-body:empty,.message.is-streaming.is-empty .msg-body,.typing-shimmer{min-height:1.25rem}.typing-shimmer{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem 0}.typing-shimmer-bar{display:block;width:4.5rem;height:.65rem;border-radius:3px;background:linear-gradient(90deg,rgba(201,169,98,.12),rgba(201,169,98,.35) 45%,rgba(201,169,98,.12) 90%);background-size:200% 100%;animation:shimmer-sweep 1.2s ease-in-out infinite}.typing-shimmer-bar.wide{width:7rem;opacity:.7}@keyframes shimmer-sweep{0%{background-position:100% 0}to{background-position:-100% 0}}.stream-caret{display:inline-block;width:.45em;height:1em;-webkit-margin-start:.1em;margin-inline-start:.1em;vertical-align:text-bottom;background:var(--hotel-accent);opacity:.7;animation:caret-blink .9s step-end infinite}@keyframes caret-blink{0%,to{opacity:.7}50%{opacity:0}}.stage-badge{font-size:.75rem;font-family:var(--font-display);color:var(--hotel-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.input-area{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid #2a2a35}.input-area input{flex:1 1;background:rgba(18,18,26,.85);border:1px solid #2a2a35;color:#f5f5f7;padding:.75rem 1rem;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.input-area input::placeholder{color:#6a6a72;font-style:italic;opacity:.9}.input-area input:focus{outline:none;border-color:rgba(201,169,98,.55);box-shadow:0 0 0 1px rgba(201,169,98,.15)}.input-area input:disabled{opacity:.65}.input-area button{background:var(--hotel-accent);color:#0a0a0f;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;font-family:inherit;transition:background .2s ease,transform .15s ease}.input-area button:hover:not(:disabled){background:var(--color-gold-light)}.input-area button:active:not(:disabled){transform:scale(.98)}.input-area button:disabled{opacity:.55;cursor:default}.consent-banner{background:#12121a;border:1px solid var(--hotel-accent);padding:1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem;animation:message-enter .35s ease-out}.consent-banner button{background:var(--hotel-accent);color:#0a0a0f;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:.5rem;font-family:inherit}[dir=rtl] .message.companion{align-self:flex-end}[dir=rtl] .message.guest{align-self:flex-start}[dir=rtl] .message.companion{animation-name:message-enter-guest}[dir=rtl] .message.guest{animation-name:message-enter-companion}[dir=rtl] .messages--welcome:after{text-align:right}@media (prefers-reduced-motion:reduce){.consent-banner,.credit-banner,.input-area button,.input-area input,.lang-switch button,.message,.messages--welcome:after,.stream-caret,.typing-shimmer-bar{animation:none!important;transition:none!important}}.landing{min-height:100vh;padding:1.5rem 1.25rem 3rem;max-width:960px;margin:0 auto;color:#ececf0;background:radial-gradient(ellipse 90% 50% at 50% -10%,rgba(201,169,98,.12),transparent 55%),linear-gradient(180deg,#0c0c12,#0a0a0f 40%,#08080c)}.landing-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.landing-brand{margin:0;font-family:var(--font-display),Georgia,serif;font-size:1.5rem;font-weight:400;letter-spacing:.06em;color:#c9a962}.landing-langs{display:flex;gap:.35rem}.landing-langs button{background:transparent;border:1px solid #2a2a35;color:#a0a0a8;padding:.25rem .55rem;border-radius:4px;cursor:pointer;font-size:.7rem}.landing-langs button.active{border-color:#c9a962;color:#c9a962}.landing-hero h1{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(1.75rem,4vw,2.5rem);margin:0 0 1rem;letter-spacing:.02em}.landing-lead{max-width:36rem;line-height:1.7;color:#a0a0a8;margin:0 0 1.5rem;font-size:1rem}.landing-actions{margin-bottom:3rem}.landing-admin{display:inline-block;border:1px solid rgba(201,169,98,.45);color:#c9a962;padding:.65rem 1.25rem;border-radius:6px;text-decoration:none;font-size:.9rem}.landing-hotels h2{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:1.25rem;color:#c9a962;margin:0 0 1.25rem}.landing-hotels h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#808088;margin:1.75rem 0 .85rem}.hotel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.85rem;gap:.85rem}.hotel-card{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.15rem;border-radius:var(--hotel-radius,10px);border:var(--hotel-hero-border,1px solid rgba(255,255,255,.1));background:var(--hotel-gradient);text-decoration:none;color:var(--hotel-text,#f5f5f7);transition:transform .2s ease,border-color .2s ease;position:relative;overflow:hidden;min-height:140px}.hotel-card:before{content:"";position:absolute;inset:0;background:var(--hotel-atmosphere);pointer-events:none}.hotel-card>*{position:relative;z-index:1}.hotel-card:hover{transform:translateY(-2px);border-color:var(--hotel-accent)}.hotel-card-mono{font-size:.7rem;letter-spacing:.1em;color:var(--hotel-accent);font-weight:600}.hotel-card-promise{font-size:.65rem;text-transform:uppercase;letter-spacing:var(--hotel-tracking,.08em);color:var(--hotel-accent);opacity:.85}.hotel-card-name{font-family:var(--font-display),Georgia,serif;font-size:1.05rem;font-weight:var(--hotel-display-weight,400);letter-spacing:var(--hotel-tracking,.02em);line-height:1.3}.hotel-card-region{font-size:.8rem;color:var(--hotel-text-muted,#a0a0a8)}.hotel-card-cta{margin-top:auto;padding-top:.65rem;font-size:.8rem;color:var(--hotel-accent)}.onboarding-loading{min-height:100vh;background:var(--hotel-surface,#0a0a0f)}.onboarding-page{max-width:28rem;padding-top:0;padding-bottom:.5rem}.onboarding-hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;margin:0 -1.5rem .35rem;min-height:min(42vh,280px);padding:1.35rem 1.25rem .85rem;overflow:hidden;animation:hotel-brand-enter var(--hotel-motion-enter,.55s) ease-out both}.onboarding-hero,.onboarding-hero--fallback{background:var(--hotel-gradient,linear-gradient(160deg,#1a1520,#0a0a0f 70%))}.onboarding-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.onboarding-hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,12,.28) 0,rgba(8,8,12,.55) 42%,rgba(8,8,12,.88) 78%,var(--hotel-surface,#0a0a0f) 100%);pointer-events:none}.onboarding-hero-copy{position:relative;z-index:2;max-width:22rem}.onboarding-hero-region{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,245,247,.72)}.onboarding-hero h1{margin:0;font-family:var(--font-body);font-weight:var(--hotel-display-weight,400);font-size:clamp(1.35rem,5vw,1.7rem);line-height:1.25;color:#f7f7f9;letter-spacing:0;text-shadow:0 1px 18px rgba(0,0,0,.35)}html[lang=en] .onboarding-hero h1{font-family:var(--font-display);letter-spacing:var(--hotel-tracking,.02em)}.onboarding-hero-line{margin:.45rem auto 0;max-width:20rem;font-size:.88rem;line-height:1.45;color:color-mix(in srgb,var(--hotel-accent) 82%,#fff 18%);font-family:var(--font-display);font-style:italic}.companion-avatar--hero{position:relative;z-index:2;width:148px;height:148px;margin-top:0;border-width:3px;box-shadow:0 0 0 4px rgba(0,0,0,.28),0 12px 32px rgba(0,0,0,.45);animation:hotel-brand-enter var(--hotel-motion-enter,.55s) ease-out .08s both;transition:border-color .35s ease,box-shadow .35s ease,filter .35s ease}.companion-portrait-wrap{position:relative;z-index:2;display:inline-flex;flex-direction:column;align-items:center;margin-top:.85rem;margin-bottom:.55rem;padding-bottom:.55rem}.companion-portrait-wrap .companion-avatar--hero{margin-top:0}.companion-mode-badge{position:absolute;bottom:-.35rem;left:50%;transform:translateX(-50%);z-index:3;padding:.2rem .65rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;border:1px solid rgba(255,255,255,.18);background:rgba(10,10,15,.82);color:#f0e6c8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.companion-avatar--mode-leisure{border-color:#d4a85a;box-shadow:0 0 0 4px rgba(212,168,90,.22),0 12px 32px rgba(0,0,0,.4),0 0 28px rgba(212,168,90,.28);filter:saturate(1.05) brightness(1.03)}.companion-avatar--mode-leisure~.companion-mode-badge,.companion-portrait-wrap.companion-avatar--mode-leisure .companion-mode-badge{border-color:rgba(212,168,90,.45);color:#f0d59a}.companion-avatar--mode-business{border-color:#8aa0b8;box-shadow:0 0 0 4px rgba(138,160,184,.2),0 12px 32px rgba(0,0,0,.45),0 0 22px rgba(120,145,175,.25);filter:saturate(.92) contrast(1.06)}.companion-portrait-wrap.companion-avatar--mode-business .companion-mode-badge{border-color:rgba(138,160,184,.45);color:#c5d2e0}.companion-avatar--mode-pilgrimage{border-color:#c9b896;box-shadow:0 0 0 4px rgba(201,184,150,.28),0 12px 32px rgba(0,0,0,.4),0 0 30px rgba(232,220,190,.22);filter:saturate(.88) brightness(1.04)}.companion-portrait-wrap.companion-avatar--mode-pilgrimage .companion-mode-badge{border-color:rgba(201,184,150,.5);color:#ebe1cb}.companion-avatar--mode-family{border-color:#d48a78;box-shadow:0 0 0 4px rgba(212,138,120,.22),0 12px 32px rgba(0,0,0,.4),0 0 26px rgba(212,138,120,.28);filter:saturate(1.08) brightness(1.02)}.companion-portrait-wrap.companion-avatar--mode-family .companion-mode-badge{border-color:rgba(212,138,120,.5);color:#f0c4b8}.companion-avatar--mode-romance{border-color:#c989a8;box-shadow:0 0 0 4px rgba(201,137,168,.25),0 12px 32px rgba(0,0,0,.4),0 0 32px rgba(201,137,168,.32);filter:saturate(1.06) brightness(1.03)}.companion-portrait-wrap.companion-avatar--mode-romance .companion-mode-badge{border-color:rgba(201,137,168,.5);color:#efc4d6}.companion-avatar--mode-wellness{border-color:#7fb3a0;box-shadow:0 0 0 4px rgba(127,179,160,.22),0 12px 32px rgba(0,0,0,.4),0 0 28px rgba(127,179,160,.28);filter:saturate(.95) brightness(1.05)}.companion-portrait-wrap.companion-avatar--mode-wellness .companion-mode-badge{border-color:rgba(127,179,160,.5);color:#c5e4d7}.companion-avatar--mode-adventure{border-color:#d4a05a;box-shadow:0 0 0 4px rgba(212,160,90,.25),0 12px 32px rgba(0,0,0,.45),0 0 30px rgba(90,170,170,.22);filter:saturate(1.12) contrast(1.04)}.companion-portrait-wrap.companion-avatar--mode-adventure .companion-mode-badge{border-color:rgba(212,160,90,.5);color:#f0d2a0}[data-travel-mode=leisure] .companion-mini-avatar{border-color:#d4a85a}[data-travel-mode=business] .companion-mini-avatar{border-color:#8aa0b8}[data-travel-mode=pilgrimage] .companion-mini-avatar{border-color:#c9b896}[data-travel-mode=family] .companion-mini-avatar{border-color:#d48a78}[data-travel-mode=romance] .companion-mini-avatar{border-color:#c989a8}[data-travel-mode=wellness] .companion-mini-avatar{border-color:#7fb3a0}[data-travel-mode=adventure] .companion-mini-avatar{border-color:#d4a05a}.companion-role--hero{position:relative;z-index:2;margin-top:.55rem;color:rgba(232,232,238,.82)}.companion-avatar--chat{width:112px;height:112px}.onboarding-sub{margin:.65rem auto 0;max-width:22rem;text-align:center;color:var(--color-text-muted);font-size:.86rem;line-height:1.45}.onboarding-controls{display:grid;grid-template-columns:1fr 1.15fr;grid-gap:.75rem;gap:.75rem;align-items:start;margin:1rem 0 .35rem}.travel-mode-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.travel-mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:start;padding:.65rem .7rem;border-radius:10px;border:1px solid #2a2a35;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.travel-mode-card-label{font-size:.86rem;font-weight:600;color:var(--color-text)}.travel-mode-card-blurb{font-size:.72rem;line-height:1.35;color:var(--color-text-muted)}.travel-mode-card.active{border-color:var(--hotel-accent);background:color-mix(in srgb,var(--hotel-accent) 12%,transparent)}.travel-mode-card.active .travel-mode-card-label{color:var(--hotel-accent)}.travel-mode-chips{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.travel-mode-chip{border:1px solid #2a2a35;background:transparent;color:var(--color-text-muted);border-radius:999px;padding:.35rem .65rem;font:inherit;font-size:.72rem;cursor:pointer}.travel-mode-chip.active{border-color:var(--hotel-accent);color:var(--hotel-accent);background:color-mix(in srgb,var(--hotel-accent) 14%,transparent)}.onboarding-control{min-width:0}.onboarding-label{margin:0 0 .4rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--hotel-accent,var(--color-gold))}.onboarding-controls .portrait-style-option img{width:56px;height:56px}.onboarding-controls .portrait-style-option{padding:.35rem .25rem .45rem}.onboarding-controls .portrait-style-option span{font-size:.7rem}.onboarding-form{display:grid;grid-gap:.7rem;gap:.7rem;margin:.85rem 0 .5rem}.onboarding-form label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.82rem;color:var(--color-text-muted)}.onboarding-form input{width:100%;box-sizing:border-box;background:#0a0a0f;border:1px solid var(--color-border);color:var(--color-text);padding:.65rem .8rem;border-radius:8px;font:inherit}.onboarding-form input:focus{outline:none;border-color:var(--hotel-accent)}.onboarding-consent{margin:.05rem 0 0;font-size:.7rem;line-height:1.45;color:#8a8a94}.onboarding-error{margin:0;color:#d68a8a;font-size:.85rem}.onboarding-cta-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:12;margin:.35rem -1.5rem 0;padding:.65rem 1.5rem calc(.75rem + env(safe-area-inset-bottom, 0px));background:linear-gradient(180deg,rgba(10,10,15,0) 0,var(--hotel-surface,#0a0a0f) 32%)}.onboarding-start{width:100%;padding:.9rem 1rem;border:none;border-radius:10px;background:linear-gradient(135deg,var(--hotel-accent),#a8893f);color:#0a0a0f;font:inherit;font-weight:600;cursor:pointer;letter-spacing:.02em;box-shadow:0 8px 22px rgba(0,0,0,.28)}.onboarding-start:hover{filter:brightness(1.06)}.companion-header--chat{padding:1.15rem 0 .5rem}.chat-preferences{display:grid;grid-gap:.65rem;gap:.65rem;margin:.85rem auto 0;max-width:280px}.portrait-style-options--chat{gap:.45rem}.portrait-style-options--chat .portrait-style-option{padding:.3rem .25rem .4rem}.portrait-style-options--chat .portrait-style-option img{width:44px;height:44px}.portrait-style-options--chat .portrait-style-option span{font-size:.7rem}@media (max-width:420px){.onboarding-controls{grid-template-columns:1fr;gap:.85rem}.companion-avatar--hero{width:136px;height:136px}.onboarding-hero{min-height:min(38vh,250px)}}@media (min-width:640px){.companion-avatar--hero{width:176px;height:176px}.onboarding-hero{min-height:min(38vh,320px)}}.guest-chip{display:inline-block;margin:.45rem 0 0;padding:.25rem .65rem;border-radius:999px;border:1px solid rgba(201,169,98,.28);background:rgba(201,169,98,.08);color:var(--hotel-accent);font-size:.75rem}.companion-container--chat{padding-top:0}.chat-hero.onboarding-hero{min-height:min(48vh,340px);margin-bottom:0}.guest-chip--hero{position:relative;z-index:2;margin-top:.55rem;border-color:rgba(255,255,255,.22);background:rgba(8,8,12,.35);color:#f0e6c8}.chat-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:.35rem;gap:.35rem;margin:.75rem 0 .35rem;padding:.3rem;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.chat-tab{border:none;border-radius:9px;padding:.7rem .5rem;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.chat-tab.active{background:color-mix(in srgb,var(--hotel-accent) 18%,transparent);color:var(--hotel-accent)}.chat-preferences{margin-top:.65rem}.hotel-gallery{margin:.75rem 0 1.25rem}.hotel-gallery-title{margin:0 0 .75rem;text-align:center;font-family:var(--font-body);font-size:1rem;color:var(--color-text)}.hotel-gallery-probes{position:absolute;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none}.hotel-gallery-empty{margin:1rem 0;text-align:center;color:var(--color-text-muted);font-size:.88rem}.hotel-gallery-grid{display:grid;grid-template-columns:1fr;grid-gap:.75rem;gap:.75rem}.hotel-gallery-grid .hotel-gallery-card:first-child,.hotel-gallery-grid .hotel-gallery-card:first-child img{min-height:200px}@media (min-width:420px){.hotel-gallery-grid{grid-template-columns:1fr 1fr}.hotel-gallery-grid .hotel-gallery-card:first-child{grid-column:1/-1}}.hotel-gallery-card{position:relative;display:block;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;background:#101018;cursor:pointer;text-align:start}.hotel-gallery-card img{display:block;width:100%;height:140px;object-fit:cover}.hotel-gallery-card span{display:block;padding:.55rem .7rem;font-size:.8rem;color:var(--color-text-muted)}.hotel-gallery-lightbox{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;background:rgba(4,4,8,.92)}.hotel-gallery-lightbox img{max-width:min(960px,100%);max-height:min(72vh,720px);object-fit:contain;border-radius:10px}.hotel-gallery-lightbox p{margin:0;color:#ececf0}.hotel-gallery-lightbox button{border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--hotel-accent);border-radius:8px;padding:.55rem 1rem;font:inherit;cursor:pointer}@media (min-width:640px){.chat-hero.onboarding-hero{min-height:min(44vh,380px)}}