:root{--black:#0a0a0a;--surface:#191b1a;--gold:#dfb581;--ink:#f7f3eb;--muted:#c2c0bb;--border:#393c38;--radius:23px}*{box-sizing:border-box}body{margin:0;background:#ede9e1;color:var(--ink);font:16px/1.45 Arial,Helvetica,sans-serif}button,a{font:inherit;touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{color:inherit}h1,h2,p{margin:0}h1{font-weight:400;font-size:35px;line-height:1.1;letter-spacing:-.6px}h2{font-weight:500;font-size:21px;line-height:1.25}p{color:var(--muted)}.serif{font-family:Georgia,serif}.intro{padding:25px 25px 0;text-align:center;color:#514b42;font-size:14px}.intro strong{color:#24221f}.board{max-width:1440px;margin:auto;padding:26px 25px 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}.phone{position:relative;border:7px solid #242524;box-shadow:0 0 0 2px #77746e,0 20px 35px #362c3426;border-radius:52px;background:var(--black);padding:20px 18px 18px;min-height:920px;display:flex;flex-direction:column;overflow:hidden}.status{height:36px;display:flex;justify-content:space-between;padding:0 16px;font-size:14px;position:relative;font-weight:600}.island{position:absolute;background:#000;width:100px;height:24px;left:50%;transform:translateX(-50%);border-radius:16px;top:-4px}.status-right{font-size:12px;letter-spacing:2px}.brandrow{display:flex;justify-content:space-between;align-items:center;margin:12px 0 25px}.brand{font:26px/1 Georgia,serif}.brand small{display:block;font:9px/1.6 Arial;letter-spacing:3.4px;margin-top:6px;text-align:center;color:#efd1a6}.brand em{display:block;font:8px/1 Arial;letter-spacing:2px;text-align:center;margin-top:5px}.profile{border:1px solid #9d9d94;border-radius:50%;width:38px;height:38px;background:transparent;display:grid;place-items:center}.icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}.goldtext{color:var(--gold)}.welcome{font-size:21px;margin-bottom:3px}.hero{width:100%;height:203px;object-fit:cover;object-position:70% 50%;border-radius:24px;display:block;margin:16px 0 13px}.gold,.outline{padding:14px 18px;border-radius:30px;border:0;width:100%;background:linear-gradient(115deg,#e4bd8f,#c99a69);color:#16110b;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px}.gold:disabled{opacity:.4;cursor:not-allowed;filter:none}.outline{background:transparent;color:var(--gold);border:1px solid var(--gold);border-radius:12px;font-weight:400}.section-label{display:flex;justify-content:space-between;align-items:center;margin:16px 0 9px;font-size:17px}.textbutton{border:0;background:none;padding:0;color:var(--muted);font-size:13px}.card{background:linear-gradient(130deg,#202221,#131514);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-top:12px}.compact{padding:12px 16px;border-radius:14px;display:flex;gap:18px;align-items:center}.date{min-width:51px;text-align:center;border-right:1px solid #464641;padding-right:15px;line-height:1.2}.date span{display:block;font-size:12px;letter-spacing:1px}.date strong{display:block;font-weight:400;font-size:36px;margin:3px 0}.compact p{font-size:14px}.grow{flex:1}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service{background:#151716;border:1px solid #242724;border-radius:12px;padding:0 0 8px;text-align:left;overflow:hidden;font-size:14px}.service img{height:72px;width:100%;object-fit:cover;display:block;margin-bottom:6px}.service span{display:block;padding:0 8px}.service .price{margin-top:3px}.reward-strip{font-size:14px}.reward-strip p{font-size:12px}.reward-strip .icon{width:31px;height:31px}.subhead{margin:9px 0 14px;font-size:17px}.loyalty{text-align:center;padding:22px 19px 16px}.eyebrow{font-size:11px;letter-spacing:3px;color:#edd1ac}.count{font-size:67px;line-height:1.15;margin-top:6px;letter-spacing:1px}.count strong{color:var(--gold);font-weight:500}.count-label{color:#e1dfd9;font-size:16px}.stamps{display:flex;justify-content:space-between;gap:10px;margin:22px 6px 20px}.stamp{width:40px;height:40px;border:1px solid #989d94;border-radius:50%;display:grid;place-items:center}.stamp.done{background:var(--gold);border:0;color:#0a0a0a}.stamp .icon{width:21px}.reward-copy{border-top:1px solid #51554d;padding-top:10px;font-size:21px}.reward-copy small{display:block;font-size:14px;color:var(--muted)}.info p{margin:4px 0 14px;font-size:15px}.inline{display:flex;align-items:center;gap:18px;margin:12px 0 18px}.inline .icon{width:31px;height:31px;color:var(--gold)}.inline .small{font-size:12px;color:var(--muted);margin-top:3px}.info .inline{font-size:14px}.referral{display:flex;gap:18px;padding:20px}.referral p{font-size:14px;line-height:1.3;margin:5px 0 8px}.referral .icon{color:var(--gold);width:31px;height:31px}.link{background:none;border:0;color:var(--gold);padding:0;text-decoration:underline;text-underline-offset:4px;font-size:15px}.terms{display:block;text-align:center;margin:8px auto 0;font-size:12px}.nav{display:flex;justify-content:space-around;border:1px solid #383c36;background:#181a19;border-radius:30px;margin-top:auto;padding:10px 3px 8px;gap:0}.nav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 7px;color:#deded7;font-size:10.5px}.nav button.active{color:var(--gold)}.nav .icon{width:22px;height:22px}.spacer{height:14px}.homebar{height:4px;background:#f0f0ef;border-radius:3px;width:120px;margin:14px auto -5px}.segments{display:flex;border:1px solid #3c3e38;background:#202220;border-radius:28px;margin:23px 0 5px}.segments button{flex:1;border:0;border-radius:27px;padding:12px;background:none;font-size:15px}.segments button.active{background:var(--gold);color:#0a0a0a}.appt{padding:24px 19px}.appt-head{display:flex;gap:16px;align-items:center;margin-bottom:25px}.appt-head .date{min-width:58px}.appt-head h2{font-size:20px}.appt-head p{font-size:15px;margin:4px 0 12px}.confirmed{display:inline-block;font-size:11px;border-radius:9px;padding:5px 8px;background:#344532;color:#e6ecdf;margin-bottom:9px}.appt-time{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.appt-time .icon{width:18px;color:var(--gold)}.appt-time span{color:var(--muted)}.payment .inline{margin:0;align-items:flex-start}.payment p{font-size:14px;margin:7px 0}.payment small{font-size:12px;color:var(--muted)}.payment-head{display:flex;justify-content:space-between;gap:12px}.empty{padding:32px 5px;text-align:center}.phone-content{flex:1}.view-label{color:#655d51;text-align:center;margin-top:15px;font-size:12px;letter-spacing:2px}dialog{background:#191b18;color:var(--ink);border:1px solid #4f5349;border-radius:24px;padding:28px;width:calc(100% - 32px);max-width:450px}dialog::backdrop{background:#000b}dialog p{margin:14px 0}dialog ul{padding-left:20px}dialog li{margin-bottom:10px}dialog .gold{margin-top:20px}label{display:block;margin:14px 0 5px}select,input{width:100%;padding:12px;border:1px solid #53564a;border-radius:8px;background:#0a0a0a;color:#fff;font:inherit}.notice{color:#aeaa9f;font-size:13px;margin-top:15px}.mobile-switch{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#dfb581;color:#15120e;padding:14px 22px;border-radius:14px;z-index:10;max-width:90vw;display:none}
/* gift screen additions */
.gift-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 4px}
.gift-amount{padding:14px 4px;border-radius:12px;border:1px solid var(--border);background:#151716;color:var(--gold);font:17px Georgia,serif}
.gift-amount.active{background:linear-gradient(115deg,#e4bd8f,#c99a69);color:#16110b;border-color:transparent}
.gift-custom{margin-top:10px}
.gift-teaser{display:flex;gap:16px;align-items:flex-start}
.gift-teaser .icon{width:31px;height:31px;color:var(--gold);flex-shrink:0}
.history-item{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #2c2f2a;font-size:14px}
.history-item:last-child{border-bottom:0}
.history-item .who{color:var(--ink)}
.history-item .meta{color:var(--muted);font-size:12px;margin-top:2px}
.check{display:flex;gap:12px;align-items:flex-start;margin:14px 0;font-size:14px}
.check input{width:auto;margin-top:3px}
.check.disabled{opacity:.4}
.checkout-total{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 4px;font-size:15px}
.checkout-total strong{font-size:26px;color:var(--gold);font-weight:500}
.strike{text-decoration:line-through;color:#8b8880;margin-right:8px}
@media(max-width:1120px) and (min-width:701px){.board{gap:15px;padding:20px 15px}.phone{padding:16px 12px;border-width:5px;border-radius:38px;min-height:940px}h1{font-size:29px}.brand{font-size:23px}.card{padding:17px 12px}.hero{height:180px}.stamp{width:32px;height:32px}.stamps{gap:5px;margin-left:0;margin-right:0}.referral{gap:10px}.count{font-size:58px}.service{font-size:12px}.nav button{padding:0 4px}.appt-head{gap:9px}.appt-head h2{font-size:17px}.appt-head .date{min-width:43px}.date{padding-right:10px}.hero+h1{font-size:29px}.gift-amounts{gap:5px}}
@media(max-width:700px){body{background:var(--black)}.intro{color:#c3b9aa;font-size:12px;padding:10px 12px}.intro strong{color:var(--gold)}.board{display:block;padding:10px 16px 24px;max-width:470px}.phone{display:none;border:0;box-shadow:none;border-radius:0;min-height:calc(100dvh - 70px);padding:0}.phone.active-screen{display:flex}.status,.homebar,.view-label{display:none}.brandrow{margin:15px 0 27px}.hero{height:230px}.nav{position:sticky;bottom:10px;z-index:3;margin-top:25px;box-shadow:0 5px 25px #0009}.phone-content{padding-bottom:10px}.service img{height:85px}.nav button{font-size:11px}.card{padding:23px}.compact{padding:12px 17px}.intro .desktop-hint{display:none}}
@media(prefers-reduced-motion:no-preference){button{transition:filter .15s,transform .15s}button:hover{filter:brightness(1.1)}button:active{transform:scale(.985)}}
