/* Rayy / light luxury. Pearl surfaces, restrained brand colour and selective mirrors. */
:root{--base:#f8faf9;--deep:#315867;--mint:#b0d8c0;--ice:#b1d0d4;--ink:#263f49;--text:#263f49;--sub:#536d76;--line:#dae4e3;--surface:linear-gradient(135deg,#fff,#f8fbfa 75%,#eef5f1);--raised:inset 1px 1px 0 #fff,0 9px 22px #345c6b12,0 2px 5px #31576508;color-scheme:light;background:#f8faf9}
body{color:var(--text);background:radial-gradient(ellipse at 90% 0,#e1ecee77,transparent 28%),radial-gradient(ellipse at 0 48%,#e6f0e777,transparent 26%),#f8faf9;background-attachment:fixed}body:before{background:none}
h1,h2,.banner h3{color:inherit}h1{font-size:36px;letter-spacing:-1px}h2{font-size:25px;letter-spacing:-.6px}h3{color:inherit}
.glass,.panel,.card,.option,.photo-card,.product-card,.product-sheet,.list-row,.screen-tile,.quote-box{--text:#263f49;--sub:#536d76;--line:#dae4e3;color:var(--text);background:var(--surface);border:1px solid #fff;box-shadow:var(--raised);backdrop-filter:none;-webkit-backdrop-filter:none}
.panel{border-radius:25px}.panel .panel{background:#f7faf9;box-shadow:none;border:1px solid #e1e9e6}.page-title h1{font-size:35px}.page-title p,.muted,.sub,.eyebrow,.section-note,.text-btn,.product-copy .name,.photo-card p,.banner p,.cart-item p,.screen-tile small,.scope-tag,.screen-tile .screen-no,.footer-links,.scrollnote{color:var(--sub)}
.section-head{margin-top:32px;margin-bottom:13px}.section-head h2{font-size:25px}.section-head a{color:#496f7c;font-weight:500}.section-intro{font-size:13px;color:var(--sub);margin:-4px 0 17px;line-height:1.6}
.topbar{height:64px}.brand{padding:0;background:transparent;box-shadow:none}.brand img{height:43px;width:32px}.topbar .location{color:#45636e;font-size:11px}.connect{background:#fff;box-shadow:inset 0 1px 0 #fff,0 3px 10px #315a6910;border:1px solid #e4ecea;min-height:37px;color:#355867}
.review-strip{height:24px;color:#536d76;border-bottom:1px solid #e6edeb;font-size:8px;letter-spacing:.3px}.review-strip a{color:#355b6b}
.btn{background:linear-gradient(135deg,#496f82,#365c70);color:#fff;border:1px solid #60889780;box-shadow:inset 1px 1px 0 #b8d0d66b,0 4px 9px #365c7026;border-radius:99px;font-size:15px;min-height:46px;transition:box-shadow .2s,transform .2s}
.btn.secondary{color:#355969;background:linear-gradient(135deg,#fff,#f0f6f2);border:1px solid #d7e4df;box-shadow:inset 1px 1px 0 #fff,0 3px 8px #34596810}.btn.danger{color:#753f52;background:#f1e6e9;box-shadow:none;border-color:#e5ced6}
.btn:active,.icon-btn:active,.destination:active .glass{transform:translateY(1px);box-shadow:inset 1px 2px 5px #395e6d20}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-color:#537f91}
.icon-btn,.icon-btn.small,.product-card .save{color:#426473;background:linear-gradient(135deg,#fff,#ecf3ee);border:1px solid #e0e9e4;box-shadow:inset 1px 1px 0 #fff,0 4px 8px #315b6b14}.icon-btn.saved{color:#315b6b;background:#d7e9dc}.icon-btn svg,.destination svg{filter:none}
.search{--text:#35535f;--sub:#617780;color:var(--text);min-height:46px;border-radius:24px;background:#f0f5f3;border:1px solid #e1e9e6;box-shadow:inset 0 1px 3px #3f66700d;padding:0 15px}.search input{font-size:13px;color:#35535f}.search input::placeholder{color:#617780}.search button{color:#496d7a}
.field input,.field select,.field textarea{background:#f7faf8;color:#2d4f5d;border:1px solid #dce7e2;box-shadow:inset 1px 2px 4px #315a6509;border-radius:16px;font-size:16px}.field input::placeholder,.field textarea::placeholder{color:#617780}.field select option{background:#fff;color:#2d4f5d}
.destinations{margin:17px 0 21px;gap:7px}.destination{color:#48616b;gap:7px;font-size:10px}.destination .glass{width:41px;height:41px;background:linear-gradient(140deg,#fff,#f2f6f3);border:1px solid #e3ece7;box-shadow:inset 0 1px 0 #fff,0 3px 7px #345f7012;border-radius:15px}.destination svg{width:21px;height:21px;color:#5e8491;stroke-width:1.5}
.banner{background:linear-gradient(132deg,#fff 10%,#f0f6f3 80%);border-radius:24px;min-height:108px;padding:20px}.banner h3{font-size:24px}.banner p{font-size:12px}.banner>svg{background:#fff;color:#507581;box-shadow:0 3px 8px #456d7a14;border:1px solid #e5ece7;border-radius:50%}
.photo-card,.product-card{background:#fff;border:1px solid #edf1ee;border-radius:23px;box-shadow:0 7px 18px #355c6a0c;overflow:hidden}.photo-card .caption{background:transparent}.photo-card img{border-radius:22px 22px 0 0}.photo-card h3{font-size:14px}.photo-card p{font-size:11px}
.product-card .photo{margin:8px 8px 0;border-radius:18px;background:radial-gradient(ellipse at 50% 90%,#d9e6e2 0,transparent 61%),#fafcfb;overflow:hidden}.product-card img{background:#fff;object-fit:contain;aspect-ratio:.91;border-radius:17px;mix-blend-mode:multiply;filter:drop-shadow(0 10px 9px #365c6b12);transition:transform .4s}.product-card .photo:active img{transform:scale(1.025)}.product-copy{padding:13px 12px 15px}.product-copy h3{font-size:14px;font-weight:600}.product-copy .name{font-size:11px;line-height:1.45;min-height:32px;margin-bottom:13px}.product-copy .price{font-size:16px;font-weight:500}.product-copy .btn{min-height:40px;font-size:14px;padding:9px 16px}.product-card .save{width:34px;height:34px;min-height:34px;min-width:34px;padding:8px;box-shadow:0 2px 8px #315b6b13;right:12px;top:12px}
.product-hero{background:radial-gradient(ellipse at 50% 70%,#e6eeeb,#fafcfb 65%);isolation:isolate}.product-hero img{background:transparent;object-fit:contain;height:360px;mix-blend-mode:multiply;filter:drop-shadow(0 18px 14px #355c6a12)}
.product-sheet,.service-caption{background:linear-gradient(118deg,#ffffffeb 0%,#ffffffa8 33%,#dce8e738 34%,#ffffffdc 54%,#eff5efdf 100%);border:1px solid #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 1px 1px 1px #fff,0 12px 25px #365f6f12}
.product-sheet{margin-top:-28px;border-radius:28px;padding:24px;z-index:2}.product-sheet h1{font-size:29px}.product-sheet .price{font-size:29px}.product-sheet p{font-size:13px}
.stepper{background:#edf4f0;border:1px solid #dbe7e1;box-shadow:inset 1px 2px 3px #406b7c0c;padding:3px;min-width:102px;gap:2px;color:#315565}.stepper button{min-width:29px;min-height:34px;background:#fff;color:#315565;box-shadow:0 2px 4px #4568750d;font-size:19px}.stepper output{font-size:12px;min-width:18px}
.disclosure{background:#f7faf83d;border:1px solid #e0e9e5}.disclosure .detail{color:#536d76}.chips button,.chips a{background:#fff;border:1px solid #e1e9e5;color:#506b76;box-shadow:0 2px 5px #315b6b08;font-size:12px;min-height:40px}.chips button.active,.chips a.active{background:#e2eee6;border-color:#bbd5c7;color:#2f5765;box-shadow:inset 0 1px 0 #fafff7}
.chip{background:#f0f5f2;border-color:#e2ebe5;color:#4e6e7b;box-shadow:none}.option{background:#fff;border-color:#edf2ee;box-shadow:0 4px 12px #355c6a0a;border-radius:22px;color:#355563}.option.active{background:#edf5ef;border-color:#8fb7a4;box-shadow:inset 0 0 0 1px #b0d8c044}.option .circle{border-color:#abc6bc;background:#fff}.option.active .circle{background:#547e8c;box-shadow:inset 0 0 0 4px #e1eee3}.selection{background:#fff8;border-color:#dce7e1}.selection input{accent-color:#547e8c}
.date{background:#fff;border-color:#e4ece7;box-shadow:0 3px 7px #315b6b0a;color:#4d6b76}.slot{background:#fff;border-color:#e0e9e3;box-shadow:0 3px 8px #315b6b0b;color:#416371}.date.active,.slot.active{color:#315765;background:linear-gradient(135deg,#e1eee6,#c4dfcd);border-color:#b2cebf;box-shadow:inset 1px 1px 0 #fff,0 4px 8px #365c6b12}
.status-tabs{background:#edf3f0;border:1px solid #e1e9e4;box-shadow:inset 1px 1px 3px #365b6b0a}.status-tabs button{color:#53707b}.status-tabs button.active{color:#315968;background:#fff;box-shadow:0 2px 7px #365b6b12}.notice,.notice.amber{color:#486573;background:#f0f5f1;border-color:#e1eae4;box-shadow:none;font-size:11px}.pill-status{color:#3b6558;background:#e8f2e9;border-color:#ccdfd1;box-shadow:none}
.list-row{background:#fff;border:1px solid #eaf0eb;box-shadow:0 5px 13px #365b6b0b}.list-row>svg{color:#658792}.avatar,.success-mark{color:#426a78;background:linear-gradient(135deg,#fff,#d9eade);border-color:#e0ece2;box-shadow:inset 1px 1px 0 #fff,0 5px 10px #365b6b12}.timeline li{border-color:#d3e2d8}.timeline li:before{background:#b0d8c0;border-color:#f6faf6}.empty>svg{color:#759995}.upload{background:#f2f7f3;border-color:#b6cfc3;border-radius:24px}.video-placeholder{background:#e1ece6}.video-placeholder .icon-btn{color:#355c6b;background:#f7fcf7}.toggle{background:#d8e6df;border-color:#c7dad0;box-shadow:inset 1px 2px 3px #365b6b12}.toggle:after{background:#fff;box-shadow:0 1px 4px #315b6b26}.toggle:checked{background:#abcdb7}.toggle:checked:after{background:#fff}.setting{border-color:#e0e9e3}.quote-box{background:#f0f6f2;border-color:#b0d8c0}.screen-tile{background:#fff;border-color:#e5ece7;box-shadow:0 4px 12px #315b6b0a}.sticky-cta{background:#ffffffef;border-color:#e0ebe4;box-shadow:0 5px 20px #315b6b13}
.hero{background:#f0f5f2;border-color:#fff;box-shadow:0 9px 20px #355b6b12;border-radius:28px}.hero:after{background:linear-gradient(180deg,transparent 50%,#f7faf84d)}.hero-copy{color:#2e505e;background:linear-gradient(115deg,#ffffffeb,#edf5efcf);border-color:#fff;box-shadow:0 7px 20px #355b6b16}.hero-copy p{color:#536d76}.mirror-decoration{opacity:.15;filter:blur(5px)}
.bottom-nav{background:linear-gradient(105deg,#ffffffed 15%,#f4f8f6e8 45%,#e2eee56b 46%,#ffffffed 75%);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 8px 25px #365b6b1c;border-radius:28px;padding:7px 9px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.bottom-nav a,.bottom-nav a.active{color:#526f79;min-height:55px;font-size:9px}.bottom-nav svg{width:35px;height:35px;padding:8px}.bottom-nav a.active svg{color:#3d6574;background:linear-gradient(135deg,#eef6ef,#cce4d2);box-shadow:inset 0 1px 0 #fff,0 3px 7px #315b6b14}.bottom-nav .count{background:#426c7e;color:#fff;right:5px;top:-2px}.toast{background:#fff;color:#3a5f6d;border-color:#d9e6dc;box-shadow:0 7px 20px #355b6b20;bottom:94px}.has-collection .toast{bottom:180px}.footer-links{font-size:11px}.legal p{color:#536d76}
.dialog,.panel[role=dialog],dialog.panel{background:linear-gradient(135deg,#fff,#f1f7f2);color:#31515e;--text:#31515e;--sub:#536d76;border-color:#fff;box-shadow:0 18px 60px #315b6b24}dialog::backdrop{background:#3b5d6a46;backdrop-filter:blur(7px)}
/* The home showcase is a fixed editorial frame; services enter vertically. */
.showcase-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:21px 0 17px}.showcase-heading .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:7px}.showcase-heading h1{font-size:30px;line-height:1.06;max-width:265px}.showcase-heading h1 em{color:#68909b;font-weight:400}.showcase-heading>a{font-size:10px;max-width:70px;text-align:right;line-height:1.5;flex-shrink:0;margin-bottom:2px}
.service-reel{position:relative;background:#fff;border:1px solid #fff;border-radius:30px;box-shadow:0 18px 34px #335b6b16,0 2px 6px #335b6b09;padding:6px;isolation:isolate;touch-action:pan-y}
.reel-mirror{position:absolute;inset:10px -4px -7px 9px;z-index:-1;border:1px solid #fff;border-radius:32px;background:linear-gradient(123deg,#e2ebe8,#fdfefd 35%,#b7ccd044 36%,#edf4ee);box-shadow:0 8px 14px #365b6b0c;transform:rotate(-1.5deg)}
.reel-window{height:370px;position:relative;border-radius:25px;overflow:hidden;background:#ecf2ee}.service-slide{position:absolute;inset:0;border-radius:25px;overflow:hidden;background:#f6f9f6;opacity:0;transform:translate3d(0,-105%,0) scale(.97);transition:transform 900ms cubic-bezier(.22,.8,.25,1),opacity 650ms ease;pointer-events:none;will-change:transform}.service-slide.is-leaving{opacity:0;transform:translate3d(0,105%,0) scale(.97)}.service-slide.is-current{opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto;z-index:2}
.service-visual{position:absolute;inset:0 0 auto;width:100%;aspect-ratio:1;background-image:url('./luxury/services-editorial.webp');background-size:200% 200%;background-repeat:no-repeat;transform:scale(1.01)}.visual-hair{background-position:0 0}.visual-makeup{background-position:100% 0}.visual-nails{background-position:0 100%}.visual-grooming{background-position:100% 100%}.service-visual:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#f7faf754)}
.service-caption{position:absolute;left:10px;right:10px;bottom:8px;border-radius:23px;padding:17px 19px;color:#2c4e5a}.service-kicker{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#567782;display:block;margin-bottom:6px}.service-caption h2{font-size:27px;line-height:1.06;letter-spacing:-.6px}.service-caption p{font-size:11px;line-height:1.5;color:#536d76;margin-top:7px;max-width:240px}.service-actions{display:flex;align-items:center;gap:12px;margin-top:13px}.service-actions>.btn{font-size:13px;min-height:42px;padding:10px 17px;white-space:nowrap}.service-explore{font-size:11px;display:flex;align-items:center;gap:5px;color:#426775}.service-explore svg{width:15px;height:15px}
.reel-controls{display:flex;align-items:center;gap:12px;height:48px;padding:2px 10px 0}.reel-count{font-size:9px;letter-spacing:1.5px;color:#637d86;min-width:45px}.reel-dots{display:flex;gap:0;margin-right:auto}.reel-dots button{display:grid;place-items:center;background:transparent;width:22px;height:34px;padding:0}.reel-dots button span{width:4px;height:4px;border-radius:50%;background:#c2d2d0;transition:height .3s,background .3s}.reel-dots button[aria-current=true] span{height:15px;background:#6a919d}.reel-pause{color:#587680;font-size:9px;background:transparent;padding:9px 4px;min-height:34px}.reel-next.icon-btn{width:34px;height:34px;min-width:34px;min-height:34px;padding:9px;background:linear-gradient(135deg,#fff,#e5efe8);box-shadow:0 2px 6px #365b6b12;border-color:#e5ede6}.reel-next svg{transform:rotate(90deg)}.reel-hint{font-size:9px;color:#607a84;text-align:center;line-height:1.5;margin:14px 0 0}.luxe-note{display:flex;justify-content:center;align-items:center;gap:8px;margin:20px 0 33px;color:#58767f;font-size:9px}.luxe-note i{width:3px;height:3px;background:#a8c8b6;border-radius:50%}
/* Visible collections: the target and the item use the same photographic tile. */
.collection-dock{position:fixed;z-index:35;bottom:95px;left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:460px;min-height:70px;border-radius:23px;display:flex;align-items:center;gap:12px;padding:11px 13px;background:linear-gradient(115deg,#fff 0%,#ffffffed 36%,#d9e8e355 37%,#ffffffef 62%,#eaf4eceb);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 9px 25px #3157651f;backdrop-filter:blur(23px);-webkit-backdrop-filter:blur(23px);color:#315462;animation:collection-reveal .35s ease-out both}
.collection-dock[hidden]{display:none}.collection-tray{display:flex;align-items:center;justify-content:center;min-width:67px;height:43px;padding:0 3px;flex-shrink:0}.collection-tray img,.collection-thumb,.collection-tray i{width:33px;height:38px;object-fit:contain;border:2px solid #fff;border-radius:10px;background-color:#f0f6f2;box-shadow:0 3px 6px #335b6b20;flex-shrink:0}.collection-tray>*+*{margin-left:-15px;transform:rotate(8deg)}.collection-tray>:first-child{transform:rotate(-7deg)}.collection-tray>:last-child{transform:rotate(4deg)}.collection-thumb{background-image:url('./luxury/services-editorial.webp');background-size:200% 200%;height:35px;width:35px}.collection-copy{display:grid;gap:4px;min-width:0;flex:1}.collection-copy small{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.15;color:#315462}.collection-copy strong{font-size:10px;line-height:1.35;font-weight:400;color:#58767f}.collection-open{width:30px;height:30px;border-radius:50%;background:#e1eee4;border:1px solid #eef8ed;display:grid;place-items:center;box-shadow:0 2px 5px #315b6b13;flex-shrink:0}.collection-open svg{width:15px;height:15px}.has-collection .shell{padding-bottom:212px}.has-collection .sticky-cta{bottom:177px}
.flying-pick{position:fixed;z-index:200;pointer-events:none;width:68px;height:68px;border-radius:16px;background-color:#fff;border:2px solid #fff;box-shadow:0 10px 25px #315b6b35;overflow:hidden;display:grid;place-items:center;transform-origin:center}.flying-pick img{width:100%;height:100%;object-fit:contain}.flying-pick.collection-thumb{background-size:200% 200%;margin:0}.flying-pick>svg{width:30px;height:30px;color:#557b89}.collection-settle .collection-tray{animation:tray-settle .65s cubic-bezier(.2,.8,.3,1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes tray-settle{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(3px) scale(1.1)}65%{transform:translateY(-2px) scale(.98)}}@keyframes collection-reveal{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.shell{padding:0 16px 120px}.review-strip{padding:0 16px}.page-title h1{font-size:34px}.panel{padding:21px}.product-grid,.provider-grid{gap:13px}.product-copy{padding:12px}.product-copy .btn{min-height:40px;padding:9px 15px}.product-copy .stepper{min-width:91px}.product-copy .stepper button{min-width:26px}.product-copy .between{gap:5px;flex-wrap:wrap}.hero-copy{max-width:none}.hero h1{font-size:31px}.hero-grid .side-feed{margin-top:25px}.destination .glass{width:41px;height:41px}.chips button,.chips a{min-height:40px;padding:10px 14px}.product-sheet{padding:23px}.showcase-heading h1{font-size:29px}.bottom-nav{width:calc(100% - 28px)}.has-collection .shell{padding-bottom:212px}}
@media(min-width:800px){.service-showcase{max-width:640px;margin:0 auto}.reel-window{height:570px}.service-caption{max-width:420px;left:20px;right:20px;bottom:20px;padding:25px}.service-caption h2{font-size:38px}.service-caption p{font-size:14px;max-width:340px}.service-actions>.btn{font-size:16px;min-height:47px}.showcase-heading h1{font-size:39px;max-width:none}.service-visual{aspect-ratio:1}.service-reel{border-radius:34px}.luxe-home>.search{max-width:640px;margin:auto}.product-sheet{background:linear-gradient(118deg,#ffffffeb,#f1f7f2);margin-top:0}.hero-copy{max-width:470px}.collection-dock{bottom:96px}.shell.web-context{padding-bottom:145px}.has-collection .shell.web-context{padding-bottom:212px}}
@media(prefers-reduced-motion:reduce){.service-slide,.reel-dots button span,.product-card img{transition:none!important}.collection-dock,.collection-settle .collection-tray{animation:none!important}.flying-pick{display:none}}

.reel-instant .service-slide{transition:none!important}

.plan-tray{background:linear-gradient(115deg,#ffffffed,#edf5f0b0 37%,#fff 38%,#f5f9f6);border:1px solid #fff;border-radius:28px;padding:22px;margin-bottom:25px;box-shadow:inset 0 1px 0 #fff,0 10px 26px #335b6b10}.plan-tray>.between{margin-bottom:15px}.plan-tray .eyebrow{font-size:9px}.plan-token-list{display:grid;gap:10px}.plan-token{display:flex;align-items:center;gap:12px;padding:11px;background:#fff;border:1px solid #e9efe9;border-radius:20px;box-shadow:0 3px 9px #315b6b09}.plan-token-photo{width:48px;height:48px;border-radius:14px;flex-shrink:0;background-image:url('./luxury/services-editorial.webp');background-size:200% 200%;box-shadow:0 4px 7px #315b6b14}.plan-token>div:nth-child(2){flex:1;min-width:0}.plan-token h3{font-size:14px}.plan-token small{font-size:10px;color:#58737d;display:block;margin-top:4px}.plan-token .text-btn{font-size:10px;padding:10px 0}.plan-tray>p{font-size:11px;color:#536d76;margin-top:16px}.reel-hint,.reel-count{font-size:10px;color:#536d76}.service-kicker{font-size:10px}.bottom-nav a,.bottom-nav a.active{font-size:10px}.collection-copy strong{font-size:11px}

/* Explicit AI entry: same existing request route and handlers. */
.ask-ai-entry.btn{min-height:42px;padding:10px 15px;font-size:12px;white-space:nowrap;flex-shrink:0}
@media(max-width:799px){.topbar .top-actions{min-width:0;gap:7px}.topbar .connect{width:42px;height:42px;min-width:42px;padding:0;justify-content:center}.topbar .connect span{display:none}.topbar .location{max-width:116px;overflow:hidden;white-space:nowrap}.topbar .brand{flex-shrink:0}.topbar .connect svg{width:18px;height:18px}}
