@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#151515;--surface:#20201e;--card:#272724;--gold:#d5b675;--gold-light:#edce8e;--text:#f3f0e8;--muted:#b6b3aa;--line:#ffffff19;font-family:'DM Sans',sans-serif;font-size:16px;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}button{color:inherit}::selection{background:var(--gold);color:#151515}.preview-note{height:30px;background:#25231d;text-align:center;font-size:.75rem;letter-spacing:.08em;padding:7px;color:#d0c2a1}.preview-note span{margin:0 10px}.topbar{max-width:1400px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:28px 5%;border-bottom:1px solid var(--line)}.brand{text-decoration:none}.brand span{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;letter-spacing:.1em;color:var(--gold)}.brand small{display:block;font-size:.65rem;letter-spacing:.23em;margin-top:4px}.location{font-size:.75rem;letter-spacing:.14em;color:var(--muted)}main{max-width:1400px;margin:auto;padding:48px 5% 80px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:60px;align-items:start}.eyebrow{color:var(--gold);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.title{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(2.3rem,4vw,3.5rem);line-height:1.12;margin:15px 0 18px}.intro{color:var(--muted);line-height:1.65;max-width:540px;margin:0}.steps{display:flex;align-items:center;gap:12px;margin:32px 0 35px;list-style:none;padding:0;font-size:.8rem;color:var(--muted)}.steps li{display:flex;align-items:center;gap:7px}.steps li:after{content:'';width:20px;height:1px;background:var(--line);margin-left:5px}.steps li:last-child:after{display:none}.steps .active{color:var(--gold)}.step-no{border:1px solid var(--line);width:25px;height:25px;border-radius:50%;display:inline-grid;place-items:center}.active .step-no{border-color:var(--gold);color:var(--gold)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter,.outline,.ghost{background:transparent;border:1px solid var(--line);border-radius:5px;padding:10px 16px;color:var(--muted)}.filter.active{color:var(--gold);border-color:var(--gold);background:#d5b6750a}.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service{display:flex;flex-direction:column;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:23px;min-height:211px;transition:border-color .2s,transform .2s}.service:hover{border-color:#d5b67575;transform:translateY(-2px)}.service .number{font-size:.7rem;letter-spacing:.15em;color:var(--gold);margin-bottom:20px}.service h2{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:400;margin:0 0 9px}.service p{font-size:.875rem;color:var(--muted);line-height:1.6;margin:0 0 18px}.service .card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.price{color:var(--gold-light);font-size:.95rem}.duration{color:var(--muted);font-size:.75rem}.arrow{font-size:1.3rem;color:var(--gold);margin-left:10px}.side-panel{position:sticky;top:25px;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.logo-wrap{height:162px;display:grid;place-items:center;background:#202020;border-bottom:1px solid var(--line)}.logo-wrap img{width:205px;height:160px;object-fit:cover}.assistant{padding:24px}.assistant-label{display:flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.13em;color:var(--gold)}.status-dot{width:6px;height:6px;background:var(--gold);border-radius:50%}.assistant h2{font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;font-weight:400;margin:13px 0}.assistant p{color:var(--muted);font-size:.875rem;line-height:1.7}.mode-selector{display:flex;border:1px solid var(--line);padding:4px;gap:4px;border-radius:6px;margin:20px 0}.mode-selector button{flex:1;padding:9px 4px;background:none;border:0;font-size:.8rem;border-radius:3px;color:var(--muted)}.mode-selector .selected{background:var(--gold);color:#191711}.primary{border:1px solid var(--gold);background:var(--gold);color:#191711;padding:13px 18px;border-radius:5px;font-weight:600;min-height:48px}.primary:hover{background:var(--gold-light)}.full{width:100%}.assistant-foot{font-size:.75rem!important;margin-bottom:0}.loading{padding:80px;text-align:center;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.small{font-size:.8rem;color:var(--muted)}.error{background:#a9484822;border:1px solid #bb747455;color:#ffc6b8;padding:13px;border-radius:6px;line-height:1.5}.notice{background:#d5b6750b;border-left:2px solid var(--gold);padding:12px 15px;font-size:.85rem;line-height:1.55;color:var(--muted);margin:15px 0}.page-foot{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:.75rem;color:var(--muted);line-height:1.8}.back{border:0;background:none;color:var(--gold);padding:0 0 14px;font-size:.875rem}.empty{padding:30px;background:var(--surface);border-radius:8px;color:var(--muted)}
@media(max-width:1000px){.layout{gap:30px;grid-template-columns:minmax(0,1fr) 300px}.steps{gap:7px}.steps li:after{width:8px}.steps li{font-size:.72rem}.service{padding:18px}.services{grid-template-columns:1fr}}
@media(max-width:720px){.topbar{padding:20px}.location{display:none}main{padding:27px 20px 70px}.layout{display:flex;flex-direction:column;gap:25px}.main-content{width:100%}.side-panel{position:static;width:100%;order:-1}.logo-wrap{display:none}.assistant{padding:17px 20px}.assistant h2{display:none}.assistant p{margin:10px 0}.assistant-label{font-size:.7rem}.mode-selector{margin:12px 0}.assistant-foot{display:none}.title{font-size:2.5rem}.steps{margin:23px 0;justify-content:space-between;gap:2px}.steps li:after{display:none}.steps li{font-size:.75rem;gap:4px}.step-no{width:21px;height:21px}.services{grid-template-columns:1fr}.service{min-height:0;padding:20px}.service .number{margin-bottom:10px}.service h2{font-size:1.5rem}.intro{font-size:.9rem}.preview-note{font-size:.65rem}.brand span{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Legibilidad: texto principal 16 px; controles habituales 14 px como mínimo. */
.intro,.service p,.assistant p,.assistant-message{font-size:1rem!important}.brand small,.service .number,.assistant-label,.preview-note,.transcript>span,.step-no{font-size:.75rem!important}.steps li>span:last-child,.date-option small,.date-option span,.dock-status,.voice-control,.edit,.repeat-link,.message-form input,.review-row>span{font-size:.875rem!important}.steps{overflow-x:auto;padding-bottom:4px}.steps li{white-space:nowrap;flex-shrink:0}
.professional-list{display:grid;gap:13px}.professional{display:flex;align-items:center;gap:20px;padding:21px;background:var(--surface);border:1px solid var(--line);border-radius:8px;text-align:left}.professional:hover{border-color:var(--gold)}.avatar{width:60px;height:60px;border:1px solid #d5b67555;color:var(--gold);border-radius:50%;display:grid;place-items:center;font:1.45rem 'Playfair Display',Georgia,serif;flex-shrink:0}.professional strong{font-weight:500;font-size:1.1rem}.professional small{display:block;color:var(--muted);margin-top:7px;font-size:.8rem;line-height:1.5}.professional .arrow{margin-left:auto}.professional.any{background:transparent}.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:26px}.date-option{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:15px 4px}.date-option:hover,.time-option:hover{background:#d5b67515;border-color:var(--gold)}.date-option span,.date-option small{font-size:.75rem;color:var(--muted);text-transform:capitalize}.date-option strong{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;font-weight:400}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.time-option{padding:18px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:.9rem}.section-label{font-size:.875rem;font-weight:400;color:var(--muted);margin:25px 0 12px}.selected-day{text-transform:capitalize;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.selected-day .back{padding:0}.details-form{border:1px solid var(--line);background:var(--surface);padding:30px;border-radius:8px}.details-form label{display:block;margin-bottom:13px;font-size:.9rem}.input-row{display:flex}.input-row input{width:100%;min-width:0;background:#171715;border:1px solid #ffffff35;border-radius:5px;color:var(--text);padding:17px 14px;font-size:1.1rem}.input-row input::placeholder{color:#918e85}.dial-code{display:grid;place-items:center;padding:0 13px;border:1px solid #ffffff35;border-right:0;background:#171715;border-radius:5px 0 0 5px;color:var(--muted)}.dial-code+input{border-radius:0 5px 5px 0}.form-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.privacy-note{font-size:.75rem;line-height:1.7;color:var(--muted);margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.review-card{border:1px solid var(--line);background:var(--surface);padding:8px 25px;border-radius:8px}.review-row{display:grid;grid-template-columns:95px minmax(0,1fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0;font-size:.875rem}.review-row:last-child{border:0}.review-row>span{color:var(--muted);font-size:.8rem}.review-row strong{font-weight:400;overflow-wrap:anywhere}.edit{border:0;background:none;color:var(--gold);font-size:.75rem;padding:5px}.confirm-button{display:flex;gap:20px;align-items:center;margin-top:25px}.confirm-button svg{width:22px;height:22px}.success-card{text-align:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:28px}.success-mark{width:70px;height:70px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);margin:auto}.success-mark svg{width:40px}.success-card h2{font:2rem 'Playfair Display',Georgia,serif}.success-card p{color:var(--muted);line-height:1.6}.success-card code{font-size:.85rem;color:var(--gold)}.success-card .review-card{text-align:left;margin:25px 0;border:0;padding:0}.success-card .review-row{grid-template-columns:90px 1fr}.mini-summary{padding:25px;border-top:1px solid var(--line)}.mini-summary h3{font:1.35rem 'Playfair Display',Georgia,serif;margin:16px 0 10px}.mini-summary p{font-size:.85rem;color:var(--muted);line-height:1.65;margin:10px 0 0}.summary-price{color:var(--gold)}.assistant-message{min-height:70px}.repeat-link,.install-link{border:0;background:none;color:var(--gold);font-size:.8rem;padding:3px 0}.install-link{margin-top:10px}.message-form{display:flex;gap:5px;border:1px solid #ffffff25;border-radius:5px;padding:5px;margin-top:18px;background:#171715}.message-form input{width:100%;min-width:0;background:none;border:0;color:var(--text);padding:8px;font-size:.8rem}.message-form button{border:0;border-radius:3px;background:#d5b6751c;color:var(--gold);padding:6px 12px;font-size:1.4rem}.transcript{margin-top:15px;padding:12px;border-left:2px solid #d5b67566;background:#ffffff04}.transcript>span{font-size:.6rem;letter-spacing:.15em;color:var(--gold)}.transcript p{margin:6px 0 0!important;overflow-wrap:anywhere}.pending-service .number{color:var(--muted)}.pending-service .duration{font-style:italic}.voice-dock{position:fixed;z-index:20;bottom:0;left:0;right:0;background:linear-gradient(180deg,#1c1c1a,#171715);border-top:1px solid #d5b67530;box-shadow:0 -12px 45px #0003;padding:12px 20px max(14px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:10px}.dock-status{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:.75rem;line-height:1.3;max-width:90vw;text-align:center}.voice-buttons{display:flex;gap:50px}.voice-control{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:80px;font-size:.75rem;color:var(--muted)}.circle-button{border-radius:50%;width:54px;height:54px;display:grid;place-items:center;transition:background .2s;position:relative}.circle-button svg{width:23px;height:23px}.circle-button.mic{background:var(--gold);border:1px solid var(--gold);color:#1b1811}.circle-button.speaker{background:transparent;color:var(--gold);border:1px solid #d5b67577}.circle-button:hover{box-shadow:0 0 0 5px #d5b67512}.circle-button.recording{background:#b34537;border-color:#f0a490;color:#fff;animation:mic-pulse 1.2s infinite}.circle-button.is-muted{color:var(--muted);border-color:#ffffff35}.circle-button.speaking{animation:mic-pulse 1.8s infinite}body{padding-bottom:140px}.side-panel{top:15px}.steps li:after{width:10px}.steps{gap:7px}button[hidden],[hidden]{display:none!important}@keyframes mic-pulse{50%{box-shadow:0 0 0 7px #d5b67518}}
@media(max-width:1100px){.steps li{font-size:.72rem}.steps li:after{width:5px}.steps{gap:4px}.time-grid{grid-template-columns:repeat(3,1fr)}.date-grid{gap:6px}.review-row{grid-template-columns:70px minmax(0,1fr) auto;gap:7px}}
@media(max-width:720px){.layout{gap:20px}.side-panel{order:initial;border:1px solid var(--line)}.main-content{order:1}.side-panel{order:0}.assistant{padding:16px}.assistant-message{min-height:0;font-size:.8rem!important;line-height:1.5!important;margin:8px 0}.assistant h2{display:none}.assistant-label{font-size:.6rem}.message-form{margin-top:10px}.mini-summary{display:none}.transcript{margin-top:10px}.repeat-link{font-size:.75rem}.voice-dock{padding-top:10px;gap:9px}.voice-buttons{gap:36px}.circle-button{width:53px;height:53px}.steps li>span:last-child{font-size:.65rem}.steps{gap:2px;justify-content:space-between}.steps li:after{display:none}.steps .step-no{font-size:.65rem;width:19px;height:19px}.date-grid{gap:7px}.date-option{padding:12px 3px}.date-option strong{font-size:1.5rem}.date-option small,.date-option span{font-size:.65rem}.professional{padding:16px;gap:13px}.avatar{width:49px;height:49px;font-size:1.2rem}.professional strong{font-size:1rem}.details-form{padding:22px}.review-card{padding:5px 16px}.review-row{grid-template-columns:62px minmax(0,1fr) auto;font-size:.8rem}.review-row>span,.edit{font-size:.72rem}.dock-status{font-size:.7rem}.voice-control{font-size:.75rem}.success-card{padding:22px}body{padding-bottom:140px}}
