:root{--bg-1: #fff4e3;--bg-2: #ffe0c2;--ink: #2e2117;--ink-soft: #7a6754;--accent: #e8533f;--accent-dark: #c63f2d;--card: #fffdf9;--shadow: 0 18px 40px -18px rgba(120, 70, 30, .45);--radius: 22px;font-family:"Baloo 2",Quicksand,Trebuchet MS,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 50% 0%,var(--bg-1),var(--bg-2) 70%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}.app{min-height:100%;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 28px}.brand{font-weight:800;font-size:1.25rem;letter-spacing:.06em;display:flex;align-items:center;gap:8px}.brand__mark{font-size:1.4rem}.topbar__tag{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);background:#fff9;padding:6px 14px;border-radius:999px;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease}.topbar__tag{border:none;font-family:inherit}.topbar__tag:hover{background:var(--accent);color:#fff}.stage{flex:1;display:grid;grid-template-columns:1fr;grid-template-areas:"copy" "scene" "controls";gap:8px;align-items:center;max-width:1180px;width:100%;margin:0 auto;padding:8px 24px 24px}.stage>*{min-width:0}.stage__copy{grid-area:copy;text-align:center;max-width:640px;margin:0 auto}.headline{font-size:clamp(2.4rem,7vw,4rem);font-weight:800;line-height:1.02;letter-spacing:-.01em}.headline__accent{color:var(--accent)}.tagline{margin-top:12px;font-size:clamp(.98rem,2.2vw,1.15rem);color:var(--ink-soft);line-height:1.5}.scene-wrap{grid-area:scene;position:relative;width:100%;height:min(48vh,440px);min-height:320px}.scene-wrap canvas{border-radius:var(--radius);cursor:grab;max-width:100%}.scene-wrap canvas:active{cursor:grabbing}.scene-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);background:#ffffff8c;padding:5px 12px;border-radius:999px;pointer-events:none}.scene-controls{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:2;max-width:calc(100% - 24px)}.selector.selector--inline{flex-direction:row;align-items:center;gap:14px;min-width:0;padding:8px 14px;background:#ffffffdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.selector.selector--inline .selector__value{font-size:1rem;min-width:140px}.selector.selector--inline .arrow{width:34px;height:34px;border-radius:11px}.selector.selector--inline .selector__dots{gap:5px}.controls{grid-area:controls;display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:16px}.selector{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 18px;min-width:220px;display:flex;flex-direction:column;gap:10px;align-items:center}.selector__title{font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.selector__control{display:flex;align-items:center;gap:10px}.selector__center{display:flex;flex-direction:column;align-items:center;gap:6px}.selector__value{font-weight:800;font-size:1.1rem;min-width:120px;text-align:center}.arrow{border:none;background:var(--bg-2);color:var(--accent-dark);width:40px;height:40px;border-radius:14px;font-size:.95rem;font-weight:800;cursor:pointer;transition:transform .1s ease,background .15s ease}.arrow:hover{background:var(--accent);color:#fff}.arrow:active{transform:scale(.9)}.selector__dots{display:flex;gap:6px}.dot{width:7px;height:7px;border-radius:50%;background:#e7d3bb;transition:background .15s ease,transform .15s ease}.dot--active{background:var(--accent);transform:scale(1.25)}.book-btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;font-size:1.15rem;padding:0 28px;border-radius:var(--radius);box-shadow:0 14px 26px -10px var(--accent-dark);transition:transform .12s ease,background .15s ease,box-shadow .15s ease;align-self:center}.book-btn:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 20px 32px -12px var(--accent-dark)}.book-btn:active{transform:translateY(0)}.book-btn__arrow{transition:transform .15s ease}.book-btn:hover .book-btn__arrow{transform:translate(4px)}.footer{text-align:center;padding:16px;font-weight:700;font-size:.9rem;color:var(--ink)}.footer{display:flex;align-items:center;justify-content:center;gap:8px}.footer__linkedin{display:inline-flex;color:var(--ink-soft);transition:color .2s ease}.footer__linkedin:hover{color:#0a66c2}@media (min-width: 900px){html,body,#root{height:100%}body{overflow:hidden}.app{height:100%;overflow:hidden}.stage{grid-template-columns:1.1fr .9fr;grid-template-areas:"copy copy" "scene controls";gap:12px 32px;align-items:start}.scene-wrap{height:min(58vh,520px)}.controls{flex-direction:column;justify-content:center;align-items:stretch}.selector{min-width:280px}.controls{width:100%;max-width:420px;justify-self:center}}.calendar{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px;align-items:stretch;width:min(420px,100%);margin:0 auto}.calendar .selector__title{text-align:center}.calendar__nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar__month{flex:1;text-align:center;font-weight:800;font-size:1.05rem;white-space:nowrap}.arrow:disabled{opacity:.35;cursor:default;background:var(--bg-2);color:var(--accent-dark);transform:none}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar__weekday{text-align:center;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding-bottom:4px}.day{aspect-ratio:1;border:none;border-radius:12px;font:inherit;font-weight:700;font-size:.92rem;background:transparent;color:var(--ink);cursor:default;position:relative;transition:transform .1s ease,background .15s ease,color .15s ease}.day--free{background:var(--bg-1);color:var(--ink);cursor:pointer}.day--free:hover{background:var(--accent);color:#fff;transform:scale(1.06)}.day--selected{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 8px 16px -8px var(--accent-dark)}.day--booked{background:#e8e5e1;color:#9c948c}.day--booked:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;background:linear-gradient(to top right,transparent calc(50% - .9px),#9c948c calc(50% - .9px),#9c948c calc(50% + .9px),transparent calc(50% + .9px))}.day--past,.day--weekend{color:#d3c4b1}.day--today{outline:2px solid var(--accent);outline-offset:-2px}.calendar__legend{display:flex;justify-content:center;gap:14px;font-size:.72rem;font-weight:700;color:var(--ink-soft)}.calendar__legend span{display:inline-flex;align-items:center;gap:5px}.swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.swatch--free{background:var(--bg-1);border:1px solid #e7d3bb}.swatch--booked{background:#e8e5e1}.swatch--selected{background:var(--accent)}.calendar__note{text-align:center;font-size:.78rem;font-weight:700;color:var(--ink-soft)}.calendar__note--warn{color:var(--accent-dark)}.booking-done{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:6px 0 0}.booking-done__mark{font-size:2.4rem;line-height:1;animation:booking-pop .28s ease-out}.booking-done__title{font-size:1.25rem;color:var(--ink)}.booking-done__text{font-size:.92rem;color:var(--ink-soft);margin-bottom:6px}.booking-done__text strong{color:var(--ink)}.booking-done .book-btn{border:none;cursor:pointer;font-family:inherit;height:50px;width:100%;justify-content:center}.booking-form{display:flex;flex-direction:column;gap:8px}.booking-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#2e21176b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:booking-fade .16s ease-out}.booking-modal__panel{position:relative;width:min(380px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--card);border-radius:var(--radius);padding:22px 20px 20px;box-shadow:0 24px 60px #2e211747;animation:booking-pop .18s ease-out}.booking-modal__close{position:absolute;top:12px;right:12px;width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--bg-1);color:var(--ink-soft);font-size:.8rem;cursor:pointer;transition:background .15s ease,color .15s ease}.booking-modal__close:hover{background:var(--accent);color:#fff}@keyframes booking-fade{0%{opacity:0}to{opacity:1}}@keyframes booking-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.booking-form__day{font-size:.9rem;color:var(--ink-soft);text-align:center}.booking-form__day strong{color:var(--ink)}.booking-form__style{display:flex;flex-direction:column;gap:2px;background:var(--bg-1);border:2px dashed #f0dcc2;border-radius:12px;padding:9px 12px;text-align:center}.booking-form__style-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.booking-form__style-value{font-size:1rem;font-weight:800;color:var(--accent-dark)}.booking-form__style-hint{font-size:.68rem;font-weight:700;color:#b3a08a}.booking-form__input{font:inherit;font-weight:600;font-size:.92rem;color:var(--ink);background-color:var(--bg-1);border:2px solid transparent;border-radius:12px;padding:10px 12px;width:100%;outline:none;transition:border-color .15s ease,background .15s ease}.booking-form__input::placeholder{color:#b3a08a}.booking-form__input:focus{border-color:var(--accent);background-color:#fff}.booking-form__input--area{resize:vertical;min-height:56px}.booking-form__input--select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%237a6754' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px}.booking-form__input--select:invalid{color:#b3a08a}.booking-form__trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.booking-form__error{font-size:.82rem;font-weight:700;color:var(--accent-dark);text-align:center}.booking-form .book-btn{border:none;cursor:pointer;font-family:inherit;height:54px;width:100%;justify-content:center;margin-top:4px}.booking-form .book-btn:disabled{opacity:.7;cursor:wait;transform:none}.faq-menu{position:relative}.faq-menu__panel{position:absolute;top:calc(100% + 10px);right:0;z-index:40;width:min(430px,calc(100vw - 32px));max-height:min(72vh,560px);overflow-y:auto;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:8px;animation:faq-drop .16s ease-out}@keyframes faq-drop{0%{opacity:0;transform:translateY(-6px)}}.faq-menu__heading{font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);padding:2px 4px 6px}.faq-item{background:var(--bg-1);border-radius:14px;padding:11px 14px}.faq-item summary{cursor:pointer;font-weight:800;font-size:.95rem;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--accent);font-size:1.2rem;font-weight:800;line-height:1;transition:transform .18s ease}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{margin-top:8px;font-size:.9rem;color:var(--ink-soft);font-weight:500;line-height:1.55}@media (max-width: 899px){.selector{flex:1 1 220px}.topbar{padding:20px 18px 14px;padding-top:calc(20px + env(safe-area-inset-top))}.brand{font-size:1.05rem}.stage{padding:22px 16px 24px;gap:26px;align-items:stretch}.tagline{margin-top:16px}.scene-wrap{height:min(52vh,460px);min-height:330px;padding-top:74px}.scene-controls{top:12px}.scene-wrap canvas{touch-action:pan-y!important}.selector.selector--inline .selector__value{min-width:116px;font-size:.94rem}.booking-form__input{font-size:16px}.arrow{width:44px;height:44px}.selector.selector--inline .arrow{width:38px;height:38px}.booking-modal{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));align-items:flex-end}.booking-modal__panel{width:100%;padding:20px 16px 18px}.booking-modal__close{width:36px;height:36px}}@media (hover: none){.day--free:hover{background:var(--bg-1);color:var(--ink);transform:none}.book-btn:hover{background:var(--accent);transform:none;box-shadow:none}.book-btn:hover .book-btn__arrow,.arrow:hover{transform:none}.topbar__tag:hover{background:#fff9;color:var(--ink-soft)}.booking-modal__close:hover{background:var(--bg-1);color:var(--ink-soft)}}@media (max-width: 420px){.stage{padding:20px 12px;gap:22px}.calendar{padding:14px 12px 16px}.calendar__grid{gap:3px}.day{font-size:.85rem;border-radius:10px}}
