/* Demo-only layout. Colours, fonts, logo and base controls come from ../style.css. */
.demo-page{overflow-x:clip}
.demo-symbols{position:absolute;width:0;height:0;overflow:hidden}
.demo-page [hidden]{display:none!important}
.demo-header{height:100px;max-width:1280px}
.demo-back{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:14px}
.demo-back svg{width:20px;height:20px;color:var(--wine);transition:transform .2s}
.demo-back:hover svg{transform:translateX(4px)}
.demo-layout{position:relative;display:grid;grid-template-columns:minmax(150px,18vw) minmax(0,1fr) minmax(290px,23vw);grid-template-rows:auto auto auto auto;column-gap:28px;padding:23px 30px 34px 0;max-width:1800px;margin:0 auto;isolation:isolate}
.demo-photo{position:absolute;z-index:-1;left:0;top:9px;width:17.5%;height:min(800px,calc(100% - 55px));min-height:620px;overflow:hidden;border-radius:0 100% 100% 0 / 0 50% 50% 0;background:var(--wine-dark)}
.demo-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#37162580,transparent 68%)}
.demo-photo img{width:100%;height:100%;object-fit:cover;object-position:46% 50%;opacity:.86}
.demo-photo p{position:absolute;top:21%;left:30%;margin:0;color:var(--paper);font:italic clamp(25px,2.1vw,35px)/1.15 var(--serif);z-index:1;text-shadow:0 1px 12px #37162550}
.demo-photo p span{display:block;width:40px;height:1px;background:currentColor;margin-top:28px;opacity:.75}
.demo-intro{grid-column:2;text-align:center;padding-top:0;animation:demo-enter .65s ease both}
.demo-eyebrow{color:var(--wine);font-size:12px;letter-spacing:2.3px;font-weight:600;margin:0 0 29px}
.demo-intro h1{font:400 clamp(66px,6.5vw,104px)/1.05 var(--serif);letter-spacing:-2.4px;margin:0}
.demo-intro h1 em{display:block;font:italic 400 .76em/1.12 var(--serif);color:var(--wine);letter-spacing:-1.8px;margin-top:0;white-space:nowrap}
.demo-description{max-width:590px;margin:24px auto 0;padding-inline:8px;font-size:17px;line-height:1.65;color:var(--muted);text-wrap:pretty}
.demo-call{grid-column:2;text-align:center;min-width:0;animation:demo-enter .7s .08s ease both}
.demo-call-stage{height:265px;position:relative;display:grid;place-items:center;margin-top:13px;isolation:isolate}
#demo-wave{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.demo-call-halo{position:absolute;width:226px;height:226px;border-radius:50%;background:color-mix(in srgb,var(--rose) 23%,transparent);box-shadow:0 0 0 26px color-mix(in srgb,var(--rose) 7%,transparent);z-index:-1}
.demo-call-button{width:164px;height:164px;border:1px solid color-mix(in srgb,var(--wine) 80%,var(--rose));border-radius:50%;background:var(--wine);color:var(--paper);display:grid;place-items:center;box-shadow:inset 0 2px 8px #ffffff1f,0 8px 26px #78284916;transition:transform .25s,background .25s,box-shadow .25s}
.demo-call-button:hover{transform:translateY(-3px) scale(1.025);background:var(--wine-dark);box-shadow:0 12px 32px #78284924}
.demo-call-button:active{transform:scale(.97)}
.demo-call-button .demo-phone{width:57px;height:57px;fill:currentColor;stroke-width:1;transition:transform .25s}
.demo-call[data-state="active"] .demo-phone{transform:rotate(135deg)}
.demo-call[data-state="connecting"] .demo-phone{display:none}
.demo-spinner{display:none;width:43px;height:43px;border:2px solid #ffffff40;border-top-color:var(--paper);border-radius:50%;animation:demo-spin 1s linear infinite}
.demo-call[data-state="connecting"] .demo-spinner{display:block}
.demo-call-caption h2{font:550 25px/1.3 var(--sans);letter-spacing:-.8px;margin:0 0 8px}
.demo-availability{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:16px;margin:0;min-height:26px;font-variant-numeric:tabular-nums}
.demo-status-dot{width:9px;height:9px;border-radius:50%;background:#5d963c;flex-shrink:0}
.demo-call[data-state="error"] .demo-status-dot,.demo-call[data-state="ended"] .demo-status-dot{background:var(--muted)}
.demo-call[data-state="connecting"] .demo-status-dot{background:var(--wine)}
.demo-feedback{font-size:13px;line-height:1.6;max-width:400px;margin:14px auto 0;color:var(--muted);padding-inline:8px}
.demo-menu{grid-column:3;grid-row:1/4;align-self:center;padding:24px 18px 20px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--paper) 96%,var(--rose));animation:demo-enter .75s .15s ease both;margin-top:16px}
.demo-menu h2{font:550 24px/1.3 var(--sans);letter-spacing:-.8px;margin:0 3px 5px}
.demo-menu-intro{font-size:13px;color:var(--muted);margin:0 3px 23px}
.demo-treatments{display:grid;gap:4px}
.demo-treatment{width:100%;display:flex;align-items:center;gap:13px;border:0;background:transparent;text-align:left;padding:12px 9px;color:var(--ink);border-radius:12px;min-height:77px;transition:background .2s}
.demo-treatment:hover{background:color-mix(in srgb,var(--rose) 17%,transparent)}
.demo-treatment[aria-pressed="true"]{background:color-mix(in srgb,var(--rose) 28%,transparent)}
.demo-treatment-icon{display:grid;place-items:center;flex-shrink:0;width:47px;height:47px;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--paper) 65%,transparent);color:var(--wine)}
.demo-treatment-icon svg{width:25px;height:25px;stroke-width:1.5}
.demo-treatment-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.demo-treatment-copy strong{font-size:14px;font-weight:550;line-height:1.45}
.demo-treatment-copy>span{font-size:14px;color:var(--muted)}
.demo-price{margin-left:auto;white-space:nowrap;font-size:15px;font-weight:500}
.demo-tip{display:flex;gap:13px;border-top:1px solid var(--line);margin:21px 3px 0;padding:20px 8px 5px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--rose) 12%,transparent));border-radius:0 0 9px 9px}
.demo-tip>svg{color:var(--wine);width:26px;height:30px;flex-shrink:0;margin-top:4px}
.demo-tip h3{font:500 14px/1.5 var(--sans);color:var(--wine);margin:0 0 3px}
.demo-tip p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.demo-reassurance{grid-column:2;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:690px;margin:48px auto 0;padding:0;animation:demo-enter .75s .2s ease both}
.demo-reassurance li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:0 12px;color:var(--muted);font-size:15px;line-height:1.6}
.demo-reassurance li+li{border-left:1px solid var(--line)}
.demo-reassurance svg{width:29px;height:29px;color:var(--wine);stroke-width:1.7}
.demo-headphones{grid-column:2;display:flex;justify-content:center;align-items:center;gap:14px;font-size:13px;color:var(--muted);margin:53px 0 0;text-align:center}
.demo-headphones svg{width:24px;height:24px;flex-shrink:0;color:var(--wine)}
@keyframes demo-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes demo-spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.demo-layout{padding-top:25px;column-gap:30px}.demo-eyebrow{margin-bottom:33px}.demo-description{font-size:18px;margin-top:25px}.demo-call-stage{height:270px;margin-top:17px}.demo-reassurance{margin-top:50px}.demo-headphones{margin-top:54px}.demo-menu{padding:25px 18px}.demo-treatment{min-height:79px}.demo-intro h1{font-size:104px}.demo-intro h1 em{font-size:77px}}
@media(max-width:1199px){.demo-layout{grid-template-columns:minmax(0,1fr) 310px;padding:20px 32px 36px;gap:0 28px}.demo-photo{display:none}.demo-intro,.demo-call,.demo-reassurance,.demo-headphones{grid-column:1}.demo-menu{grid-column:2}.demo-intro h1{font-size:clamp(56px,6.7vw,80px)}.demo-intro h1 em{font-size:.74em;letter-spacing:-1.2px}.demo-description{font-size:16px}.demo-call-stage{height:250px}.demo-reassurance{margin-top:36px}.demo-reassurance li{font-size:13px;padding:0 8px}.demo-headphones{font-size:12px;gap:9px;margin-top:40px}}
@media(max-width:899px){.demo-header{height:86px}.demo-layout{display:flex;flex-direction:column;align-items:center;padding:22px 24px 32px;gap:0}.demo-intro{width:100%;max-width:650px}.demo-eyebrow{margin-bottom:24px}.demo-intro h1{font-size:80px}.demo-intro h1 em{font-size:59px}.demo-description{max-width:550px;margin-top:22px}.demo-call{width:100%;max-width:650px}.demo-call-stage{height:255px;margin-top:12px}.demo-menu{width:100%;max-width:480px;align-self:center;margin-top:36px;padding:25px 22px}.demo-menu-intro{font-size:14px}.demo-treatment-copy strong,.demo-treatment-copy>span{font-size:15px}.demo-treatment{min-height:80px}.demo-tip p{font-size:13px}.demo-reassurance{max-width:560px;margin-top:35px}.demo-reassurance li{font-size:14px}.demo-headphones{max-width:500px;font-size:13px;margin-top:34px}}
@media(max-width:540px){.demo-header{height:78px;width:calc(100% - 40px);gap:16px}.demo-header .brand{font-size:30px}.demo-back{font-size:12px;gap:9px}.demo-back svg{width:18px}.demo-layout{padding:24px 20px 30px}.demo-eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:25px}.demo-intro h1{font-size:clamp(53px,15.4vw,79px);letter-spacing:-1.7px;line-height:1.07}.demo-intro h1 em{font-size:clamp(32px,9.5vw,48px);letter-spacing:-1px;line-height:1.2;margin-top:5px}.demo-description{font-size:15px;line-height:1.65;margin:20px auto 0;padding-inline:0;max-width:355px}.demo-call-stage{height:225px;margin-top:10px}.demo-call-button{width:138px;height:138px}.demo-call-button .demo-phone{width:49px;height:49px}.demo-call-halo{width:190px;height:190px;box-shadow:0 0 0 18px color-mix(in srgb,var(--rose) 7%,transparent)}.demo-call-caption h2{font-size:24px}.demo-availability{font-size:14px}.demo-menu{margin-top:31px;padding:22px 14px 18px;border-radius:15px}.demo-menu h2{font-size:23px;margin-inline:5px}.demo-menu-intro{font-size:13px;margin:5px 5px 19px}.demo-treatment{gap:11px;padding:10px 8px;min-height:77px}.demo-treatment-icon{width:44px;height:44px}.demo-treatment-copy strong{font-size:14px}.demo-treatment-copy>span{font-size:14px}.demo-price{font-size:14px}.demo-tip{margin-top:17px;padding-top:19px;gap:12px}.demo-tip p{font-size:12px}.demo-reassurance{margin-top:33px}.demo-reassurance li{font-size:12px;gap:10px;padding:0 6px}.demo-reassurance svg{width:26px;height:26px}.demo-headphones{font-size:12px;line-height:1.6;margin-top:31px;max-width:310px;gap:11px}.demo-headphones svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.demo-intro,.demo-call,.demo-menu,.demo-reassurance{animation:none}.demo-call-button,.demo-phone,.demo-back svg{transition:none}.demo-call-button:hover{transform:none}}


/* Voice-session feedback only: the existing composition and dimensions stay intact. */
.demo-call-button:disabled{cursor:wait}
.demo-call-button:disabled:hover{transform:none;background:var(--wine)}
.demo-call[data-state="connecting"] .demo-call-halo{animation:demo-connect-pulse 1.8s ease-in-out infinite}
@keyframes demo-connect-pulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.045);opacity:1}}
@media(prefers-reduced-motion:reduce){.demo-call[data-state="connecting"] .demo-call-halo{animation:none}}


