:root{
  --paper:#f5f3ee;--sheet:#fffefa;--ink:#1e1d1a;--muted:#77736d;
  --line:#cfcac1;--accent:#b4452e;--accent-soft:#f1e1da;
  --good:#356b50;--danger:#9e3c31;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#dedbd5;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
.app-shell{width:min(100%,520px);min-height:100dvh;margin:auto;background:var(--paper);padding-bottom:calc(78px + env(safe-area-inset-bottom));box-shadow:0 0 30px #25201812}
.topbar{height:79px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:15px 22px;background:var(--paper);border-bottom:1px solid var(--ink)}
.brand-copy strong{display:block;font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:21px;font-weight:500;letter-spacing:-.04em;line-height:1.05}
.eyebrow{font-size:10px;line-height:1.3;letter-spacing:.18em;font-weight:750;color:var(--accent);text-transform:uppercase}
.brand-copy .eyebrow{margin-bottom:4px}
.icon-button{border:0;background:none;color:var(--ink);font-size:27px;line-height:1;padding:5px 0 5px 12px;font-family:Arial,sans-serif;font-weight:300}
main{padding:23px 22px 40px}
.loading,.empty{padding:42px 14px;text-align:center;color:var(--muted);font-size:14px;line-height:1.5}
.page-title,.section-head h2,.hero h1{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-weight:500;letter-spacing:-.055em}
.page-title{font-size:39px;line-height:1.02;margin:0 0 8px}
.subtitle{color:var(--muted);font-size:14px;line-height:1.45;margin:0 0 23px}
.hero{position:relative}
.hero-intro{padding:2px 0 20px}
.hero h1{font-size:56px;line-height:.91;margin:13px 0 15px}
.hero p{font-size:14px;line-height:1.55;color:#57534e;max-width:270px;margin:0 0 17px}
.hero-photo{height:270px;background:#d6c5b9 url('/assets/beauty-triptych.jpg') left center/auto 145% no-repeat;filter:saturate(.8)}
.hero-stamp{position:absolute;right:0;bottom:0;background:var(--paper);padding:12px 0 0 13px;font-size:9px;font-weight:800;letter-spacing:.13em}
.primary,.secondary,.outline,.danger-button{min-height:45px;padding:12px 17px;border-radius:0;font-size:13px;font-weight:750;line-height:1.15}
.primary{background:var(--ink);border:1px solid var(--ink);color:#fff}
.primary:hover{background:#34322e}
.hero-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--accent);border-color:var(--accent);min-width:190px}
.hero-cta:hover{background:#963d2b}
.hero-cta span{font-size:18px;font-weight:400}
.secondary{background:transparent;border:1px solid var(--ink);color:var(--ink)}
.outline{background:transparent;border:1px solid var(--line);color:var(--ink)}
.danger-button{background:transparent;border:1px solid var(--danger);color:var(--danger)}
.wide{width:100%}
.small{min-height:36px;padding:8px 11px;font-size:11px}
.text-link,.section-head button{border:0;background:none;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.01em;padding:4px 0}
.demo-note{border-left:3px solid var(--accent);margin:17px 0 7px;padding:6px 0 6px 11px;font-size:11px;line-height:1.4;color:#686059}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:34px 0 15px}
.section-head .eyebrow{display:block;margin-bottom:7px}
.section-head h2{font-size:30px;line-height:1;margin:0}
.services-list{border-top:1px solid var(--ink)}
.service-card{display:grid;grid-template-columns:32px 1fr auto;gap:11px;align-items:start;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:18px 0 17px;color:var(--ink)}
.service-index,.choice-number{font-family:Georgia,serif;font-style:italic;font-size:15px;color:var(--accent)}
.service-copy strong{display:block;font-size:15px;line-height:1.25;font-weight:650;margin:0 0 6px}
.meta{color:var(--muted);font-size:12px;line-height:1.5}
.price{font-size:14px;font-weight:700;white-space:nowrap}.price span{color:var(--accent);margin-left:4px}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.portfolio-card{min-width:0;background:var(--sheet);border:0}
.portfolio-img,.placeholder-art{display:block;width:100%;height:165px;object-fit:cover;background-color:#ddcbc3}
.placeholder-art{background-image:url('/assets/beauty-triptych.jpg');background-size:300% 100%;background-repeat:no-repeat}
.placeholder-art.nails{background-position:left center}
.placeholder-art.brows{background-position:center center}
.placeholder-art.flowers{background-position:right center}
.portfolio-card .caption{padding:10px 0 12px;border-bottom:1px solid var(--line)}
.portfolio-card strong{display:block;font-size:12px;font-weight:650;line-height:1.3}
.portfolio-card span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.portfolio-grid:not(.home-portfolio) .portfolio-card:first-child{grid-column:1/-1}
.portfolio-grid:not(.home-portfolio) .portfolio-card:first-child .portfolio-img,.portfolio-grid:not(.home-portfolio) .portfolio-card:first-child .placeholder-art{height:245px}
.contact-lines{border-top:1px solid var(--ink)}
.contact-lines>div{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}
.contact-lines span{color:var(--muted)}
.contact-lines strong{font-weight:600}
.bottom-nav{position:fixed;z-index:20;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,520px);height:calc(64px + env(safe-area-inset-bottom));padding:0 14px env(safe-area-inset-bottom);display:flex;background:#f5f3eef8;backdrop-filter:blur(15px);border-top:1px solid var(--ink)}
.bottom-nav button{position:relative;flex:1;border:0;background:none;color:#78746e;font-size:11px;font-weight:600;white-space:nowrap;padding:14px 2px}
.bottom-nav button.active{color:var(--accent);font-weight:800}
.bottom-nav button.active:before{content:"";position:absolute;top:-1px;left:20%;right:20%;height:3px;background:var(--accent)}
.stepper{display:flex;align-items:center;gap:14px;margin:0 0 17px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.15em}
.stepper i{height:1px;flex:1;background:var(--line)}
.back{display:block;border:0;background:none;color:var(--accent);padding:0;margin:0 0 16px;font-size:12px;font-weight:750}
.choice-list{border-top:1px solid var(--ink)}
.choice{display:grid;grid-template-columns:31px 1fr auto;align-items:center;text-align:left;gap:10px;width:100%;padding:19px 0 18px;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink)}
.choice strong{display:block;font-size:17px;font-weight:630;line-height:1.25}
.choice small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.choice .arrow{align-self:start;font-size:21px;color:var(--accent);line-height:1}
.selection-recap{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:13px 0;font-size:12px;font-weight:700;margin-bottom:24px}
.selection-recap span{white-space:nowrap;color:var(--accent)}
.date-scroll{display:flex;gap:7px;overflow:auto;scrollbar-width:none;margin:12px -22px 10px;padding:0 22px 5px}
.date-chip{flex:none;min-width:67px;min-height:77px;border:1px solid var(--line);background:var(--sheet);color:var(--ink);padding:8px 5px;text-align:center}
.date-chip.selected{background:var(--ink);border-color:var(--ink);color:white}
.date-chip:disabled{background:transparent;color:#a8a39c;border-color:#dfdcd6;opacity:1}
.date-chip small,.date-chip strong,.date-chip em{display:block}
.date-chip small{font-size:10px}
.date-chip strong{font-family:Georgia,serif;font-size:22px;font-weight:400;line-height:1.2}
.date-chip em{font-style:normal;font-size:8px;margin-top:4px;color:var(--accent)}
.date-chip.selected em{color:#f8c3ad}
.date-chip:disabled em{color:#aaa59e}
.date-actions{margin:0 0 27px!important}
.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.slot{border:1px solid var(--line);background:var(--sheet);min-height:45px;color:var(--ink);font-size:13px;font-weight:700}
.slot.selected{background:var(--accent);border-color:var(--accent);color:white}
.card{background:var(--sheet);border:1px solid var(--line);padding:16px;margin-bottom:10px}
.card h3{font-size:15px;margin:0 0 9px}
.review-card{border-top:3px solid var(--accent)}
.summary-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.summary-row:last-child{border:0}
.summary-row span{color:var(--muted)}
.summary-row strong{text-align:right;font-weight:700}
.notice{padding:11px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5;margin:16px 0}
.notice.success{color:var(--good)}
.notice.error{color:var(--danger)}
.booking-card{border-top:3px solid var(--accent);margin-top:13px}
.booking-card .date-big{font-family:"Iowan Old Style",Georgia,serif;font-size:23px;letter-spacing:-.04em;margin:13px 0 7px}
.booking-card>strong{font-size:15px}
.booking-card .meta{margin-top:6px}
.pill{display:inline-block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.1em}
.deadline-note{font-size:11px;color:var(--muted);margin-top:16px;border-top:1px solid var(--line);padding-top:11px}
.row-actions{display:flex;gap:8px;margin-top:14px}
.row-actions button{flex:1}
.success-card{text-align:center;padding:34px 22px;border-top:3px solid var(--good)}
.success-symbol{font-family:Georgia,serif;font-size:42px;color:var(--good);margin-bottom:10px}
.success-card .subtitle{margin:14px 0 25px}
.field{display:block;margin:0 0 14px}
.field span{display:block;color:#57534d;font-size:11px;font-weight:750;margin:0 0 6px}
.field input,.field select,.field textarea{width:100%;min-height:43px;padding:10px 11px;border:1px solid var(--line);border-radius:0;background:var(--sheet);color:var(--ink);outline:none}
.field input:focus,.field select:focus{border-color:var(--accent)}
.field textarea{min-height:75px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.segment{display:flex;gap:0;overflow:auto;margin:2px -22px 17px;padding:0 22px;border-bottom:1px solid var(--line)}
.segment button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);white-space:nowrap;padding:11px 13px;font-size:12px;font-weight:700}
.segment button.active{border-bottom-color:var(--accent);color:var(--accent)}
.checkline{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.45;color:var(--muted);margin:14px 0}
.checkline input{margin-top:2px}
.admin-list{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}
.admin-list:last-child{border:0}
.admin-list strong{font-size:13px}
.admin-list .row-actions{margin-top:0;flex-wrap:wrap;justify-content:flex-end}
.admin-list .row-actions button{flex:0 0 auto}
.spacer{height:13px}
.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.card-title h3{margin:0}
#toast{display:none;position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:calc(74px + env(safe-area-inset-bottom));width:calc(min(100%,520px) - 40px);padding:12px 14px;background:var(--ink);color:white;font-size:12px;line-height:1.4}
#toast.show{display:block}
@media(max-width:360px){main{padding-left:17px;padding-right:17px}.hero h1{font-size:49px}.bottom-nav button{font-size:10px}.date-scroll{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.slot-grid{grid-template-columns:repeat(3,1fr)}}

/* BLIK demo identity. Change the variables and collage photographs for another salon. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#f4eee8;--sheet:#fffaf5;--ink:#292326;--muted:#766e70;--line:#d8cbc8;--accent:#3a3036;--accent-soft:#eadbd7;--good:#3d694e;--danger:#a34b3d;--rose:#b47767}
html,body{background:#ddd3d0;color:var(--ink);font-family:Manrope,Arial,sans-serif}
.app-shell{background:var(--paper);box-shadow:0 10px 45px #342a2a25}
.topbar{height:66px;justify-content:space-between;padding:9px 20px;background:#f7f1ebed;border-bottom:1px solid #d9ceca;backdrop-filter:blur(18px)}
.brand-copy strong{font-family:Manrope,Arial,sans-serif;font-size:20px;font-weight:800;letter-spacing:-.065em;line-height:1.1;text-transform:uppercase}
.brand-copy .eyebrow{font-size:8px;letter-spacing:.19em;margin:4px 0 0;color:#9b7166}
.icon-button{padding:4px 0 4px 16px;font-size:25px;color:#74676a}
main{padding:0 20px 40px}.page-title,.section-head h2{font-family:Manrope,Arial,sans-serif;font-weight:750;letter-spacing:-.065em}.page-title{padding-top:26px;font-size:35px;line-height:1.08}.subtitle,.meta{color:var(--muted)}
.cover{margin:0 -20px;background:#e9deda}
.cover-meta{display:flex;justify-content:space-between;gap:8px;padding:13px 20px 12px;color:#655a5b;background:#f4eee8;font-size:8px;font-weight:800;letter-spacing:.17em}
.cover-gallery{display:grid;grid-template-columns:61% 39%;grid-template-rows:147px 147px;gap:4px;height:298px;overflow:hidden;background:#f4eee8}
.cover-image{position:relative;overflow:hidden;background:#bda9a4}
.cover-image:before{content:"";position:absolute;inset:-3%;background-image:url('/assets/beauty-triptych.jpg');background-repeat:no-repeat;filter:saturate(.75) contrast(.98);animation:coverBreath 13s ease-in-out infinite alternate}
.cover-nails{grid-row:span 2}.cover-nails:before{background-size:auto 112%;background-position:left center}
.cover-brows:before{background-size:auto 137%;background-position:center center;animation-delay:-3s}
.cover-detail:before{background-size:auto 137%;background-position:right center;animation-delay:-6s}
.cover-nails:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#251f2178);pointer-events:none}
.cover-wordmark{position:absolute;z-index:1;left:17px;right:7px;bottom:15px;color:#fff9f4;font-size:clamp(35px,10vw,59px);font-weight:800;letter-spacing:-.09em;line-height:.95;overflow-wrap:anywhere;text-shadow:0 2px 10px #241b1c40}
.cover-action{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:78px;padding:14px 20px;text-align:left;color:#fff9f4;background:var(--accent);border:0;transition:background .25s ease,transform .25s ease}
.cover-action:hover{background:#4d3a42}.cover-action:active{transform:scale(.99)}.cover-action small{display:block;color:#c9a9a0;font-size:8px;font-weight:800;letter-spacing:.17em;margin-bottom:3px}.cover-action strong{display:block;font-size:19px;font-weight:750;letter-spacing:-.045em}
.cover-action-end{display:flex;align-items:center;gap:15px;font-size:11px;white-space:nowrap}.cover-action-end b{font-size:27px;font-weight:400;line-height:1;transition:transform .23s ease}.cover-action:hover b{transform:translate(4px,-4px)}
.demo-note{margin:12px 0 0;padding:6px 0;border:0;background:none;color:#8c8180;font-size:10px;line-height:1.4}
.demo-explain{padding:17px 0 22px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);color:#62585b;font-size:13px;line-height:1.6}
.section-head{margin:30px 0 14px;align-items:end;gap:9px}.section-head h2{font-size:30px;line-height:1.1;margin:0}.section-head button{white-space:nowrap}.section-aside{color:#9b7166;font-size:9px;font-weight:800;letter-spacing:.13em;white-space:nowrap}
.text-link,.section-head button{color:#8e5b4f;font-size:11px;font-weight:800;text-decoration:underline;text-decoration-color:#c6a79e;text-underline-offset:4px}
.primary,.secondary,.outline,.danger-button{min-height:44px;border-radius:2px;padding:11px 16px;font-family:Manrope,Arial,sans-serif;font-weight:750;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}.primary{background:var(--accent);border-color:var(--accent)}.primary:hover{background:#4d3a42}.primary:active,.secondary:active,.outline:active,.danger-button:active{transform:scale(.975)}
.services-list{border-color:var(--ink)}.service-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px 2px 18px 0;border-color:var(--line);transition:background .2s ease,padding .2s ease,transform .2s ease}.service-card:hover,.service-card:focus-visible{padding-left:7px;background:#ede3df;outline:none}.service-card:active{transform:scale(.99)}.service-copy strong{font-size:14px;font-weight:750;line-height:1.25}.service-copy .meta{font-size:11px}.price{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:800}.price span{color:#a56e5c;font-size:18px;transition:transform .2s ease}.service-card:hover .price span{transform:translateX(4px)}
.portfolio-grid{gap:8px}.portfolio-card{background:transparent;overflow:hidden}.portfolio-img,.placeholder-art{height:174px;border-radius:0;transition:filter .35s ease,transform .55s ease}.portfolio-card:hover .portfolio-img,.portfolio-card:hover .placeholder-art{transform:scale(1.035);filter:saturate(1.08)}.portfolio-card .caption{border-color:var(--line)}.portfolio-card strong{font-size:12px}
.contact-lines{margin-bottom:22px}.contact-lines>div{grid-template-columns:94px 1fr;font-size:12px}.contact-lines strong{font-weight:700}
.bottom-nav{height:calc(62px + env(safe-area-inset-bottom));padding:0 7px env(safe-area-inset-bottom);background:#332a30f0;border-top:0;backdrop-filter:blur(16px);gap:0}.bottom-nav button{flex:1;position:relative;padding:12px 2px;color:#d8c9c8;font-size:10px;font-weight:600;transition:color .2s ease,transform .2s ease}.bottom-nav button.active{color:#fff;font-weight:800}.bottom-nav button.active:before{top:auto;bottom:8px;left:32%;right:32%;height:2px;background:#c68a75}.bottom-nav button:active{transform:translateY(2px)}
.stepper{padding-top:22px;color:#8e5b4f}.stepper i{position:relative;background:#d6c7c3;overflow:hidden}.stepper i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--progress);background:#a46f5d;transform-origin:left;animation:progressIn .55s ease both}.back{color:#8e5b4f}
.choice{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:18px 2px 18px 0;transition:background .2s ease,padding .2s ease}.choice:hover,.choice:focus-visible{padding-left:7px;background:#ede3df;outline:none}.choice strong{font-size:16px}.choice .arrow{font-size:20px;color:#9e6b5a;transition:transform .2s ease}.choice:hover .arrow{transform:translateX(4px)}
.selection-recap span{color:#8e5b4f}.date-chip,.slot{border-radius:2px;transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}.date-chip:active,.slot:active{transform:scale(.94)}.date-chip.selected{background:var(--accent);border-color:var(--accent)}.date-chip.selected em{color:#e9cbc1}.date-chip em{color:#9e6b5a}.slot.selected{background:var(--accent);border-color:var(--accent)}
.card{border-radius:2px}.review-card,.booking-card{border-top-color:#a46f5d}.success-card{border-top-color:var(--good)}.success-symbol{color:var(--good);animation:successPop .65s both}.pill{color:#8e5b4f}.field input,.field select,.field textarea{border-radius:2px;background:#fffaf5}.field input:focus,.field select:focus{box-shadow:0 0 0 3px #a46f5d22}.segment button.active{color:#8e5b4f;border-bottom-color:#a46f5d}
#toast{border-radius:2px;background:var(--accent);box-shadow:0 9px 22px #29202640}.motion-pending{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .58s cubic-bezier(.2,.7,.2,1)}.motion-pending.is-visible{opacity:1;transform:none}
@keyframes coverBreath{from{transform:scale(1)}to{transform:scale(1.05)}}@keyframes progressIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes successPop{from{opacity:0;transform:scale(.6) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:360px){main{padding-left:17px;padding-right:17px}.cover{margin-left:-17px;margin-right:-17px}.cover-gallery{grid-template-rows:130px 130px;height:264px}.cover-action{padding-left:17px;padding-right:17px}.cover-action strong{font-size:17px}.cover-action-end{gap:7px;font-size:10px}.bottom-nav button{font-size:9px}.contact-lines>div{grid-template-columns:84px 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.motion-pending{opacity:1;transform:none}}
