
/* style.css */
@font-face{font-family:MBStudioText;font-style:normal;font-weight:400;font-display:swap;src:url("assets/manrope-regular.woff2") format("woff2")}
:root{color-scheme:light;--ink:#171717;--muted:#656565;--line:#dedede;--paper:#fff;--radius:20px;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:#edeef0}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #6a57c8;outline-offset:4px}[hidden]{display:none!important}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.page{width:min(100%,460px);margin:auto;padding:max(22px,env(safe-area-inset-top)) 20px max(22px,env(safe-area-inset-bottom));min-height:100svh;display:flex;flex-direction:column;justify-content:center}.card{background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 50px #15151516;border:1px solid #fff}.brand-row{height:66px;display:flex;align-items:center;justify-content:flex-end;padding:0 24px}.brand{display:inline-flex;align-items:baseline;gap:5px;min-height:44px;padding-block:6px;flex-shrink:0;font:700 20px/30px Georgia,serif;letter-spacing:normal}.brand-badge{display:inline-flex;align-items:baseline;gap:2px;flex-shrink:0;padding:0 4px;background:#d9c99f;color:#201b17;border-radius:2px;line-height:20px}.brand-initials{font:700 24px/20px Georgia,serif;letter-spacing:0}.brand-studio{font:400 15px/20px MBStudioText,sans-serif;letter-spacing:0}.brand-logo{display:block;width:126px;height:auto;align-self:baseline}.portrait{height:330px;position:relative;background:#85817e;isolation:isolate}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 37%,#0002 50%,#000c 100%);z-index:0}.portrait>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 27%}.identity{position:absolute;z-index:1;left:24px;right:16px;bottom:23px;color:white}.profession{font-size:12px;font-weight:500;letter-spacing:1.6px;margin:0 0 10px;line-height:1.5}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,8.1vw,2.35rem);font-weight:400;line-height:1.06;margin:0;letter-spacing:-1px;overflow-wrap:anywhere}.card-body{padding:0 24px 17px}.intro{text-align:center;font-size:14px;line-height:1.5;letter-spacing:.1px;margin:18px 0}.button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 15px;border-radius:10px;font-size:15px;font-weight:600;border:1px solid var(--ink);line-height:1.4;text-align:center;width:100%}.primary{background:var(--ink);color:#fff}.primary span{font-size:22px;margin-left:auto;font-weight:400}.primary[href]{justify-content:flex-start}.secondary{background:#fff;color:var(--ink);border-color:#d6d6d6;font-weight:400}.share-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.social-row{display:flex;align-items:center;justify-content:center;gap:27px;min-height:57px;font-size:14px;border-bottom:1px solid #e7e7e7}.social-row a{padding:14px 0;white-space:nowrap}.social-row span:not(.separator){padding-left:4px;color:#686868}.separator{height:13px;width:1px;background:#d2d2d2}.save-contact{font-size:14px;min-height:47px;display:flex;align-items:center;justify-content:center;gap:9px;padding-top:9px}.save-contact svg{width:18px;height:18px}.tools{display:flex;justify-content:center;align-items:center;gap:13px;margin-top:12px;color:#555}.tools button{border:0;background:transparent;font-size:14px;min-height:44px;padding:6px 0}.preview-note{text-align:center;color:#5f536f;font-size:12px;line-height:1.5;margin:0 0 12px}.noscript{font-size:14px;line-height:1.5}
dialog{border:1px solid #e2e2e2;border-radius:18px;width:calc(100% - 32px);max-width:410px;max-height:88svh;padding:24px;color:var(--ink);box-shadow:0 24px 80px #0004}dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dialog-head h2{font-size:22px;font-weight:500;margin:0;line-height:1.2}.close{width:44px;height:44px;border:0;background:#f3f3f3;border-radius:50%;font-size:27px;line-height:1;flex-shrink:0}dialog p{font-size:16px;line-height:1.55;margin:16px 0}.qr{display:block;width:min(100%,232px);height:auto;margin:18px auto 22px;background:white}label{display:block;font-size:14px;margin:12px 0 7px;color:var(--muted)}input{display:block;width:100%;border:1px solid #ccc;background:#f8f8f8;border-radius:8px;padding:13px 10px;font-size:14px;margin:0 0 12px;min-width:0}.note{color:var(--muted);font-size:14px!important;line-height:1.6!important}details{border-top:1px solid var(--line);margin:16px 0 0}summary{font-size:16px;padding:17px 0;cursor:pointer;font-weight:600}ol{padding-left:22px;margin:4px 0 16px}li{padding-left:3px;margin-bottom:12px;line-height:1.5;font-size:16px}.app-links{display:flex;flex-direction:column;gap:6px}.app-links a{font-size:14px;min-height:38px;padding:9px 0;text-decoration:underline;text-underline-offset:3px}.toast{position:fixed;z-index:9;bottom:28px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:13px 20px;background:#171717;color:#fff;border-radius:12px;font-size:14px;text-align:center;box-shadow:0 3px 20px #0003}
@media(min-width:650px){.page{padding-top:32px;padding-bottom:32px}.card{box-shadow:0 24px 80px #0002}.portrait{height:350px}}
@media(max-width:360px){.page{padding-left:12px;padding-right:12px}.brand-row{padding:0 20px}.card-body{padding-left:18px;padding-right:18px}.identity{left:20px}.portrait{height:295px}.button{font-size:14px;padding-left:8px;padding-right:8px}.tools{gap:10px}.tools button{font-size:13px}.social-row{gap:22px}}
@media(prefers-reduced-motion:no-preference){.button,.save-contact{transition:background .15s,transform .15s}.button:active{transform:scale(.985)}.secondary:hover{background:#f5f5f5}.primary:hover{background:#303030}}

@media(max-width:380px){.brand-initials{font-size:22px}.brand-studio{font-size:14px}.brand-logo{width:116px}}

.social-row{flex-wrap:wrap;column-gap:22px;row-gap:0}.social-row a+a{position:relative}.social-row a+a:before{content:"";position:absolute;left:-11px;top:50%;height:13px;width:1px;background:#d2d2d2;transform:translateY(-50%)}.card-body{padding-top:1px}.contact-row{display:flex;flex-direction:column;align-items:center;margin-top:8px}.contact-row a{padding:10px 0;min-height:44px;font-size:14px;overflow-wrap:anywhere;max-width:100%}.profession{overflow-wrap:anywhere}.intro{overflow-wrap:anywhere}

.portrait{height:auto;min-height:330px;display:flex;align-items:flex-end}.portrait>img{position:absolute;inset:0}.identity{position:relative;left:auto;right:auto;bottom:auto;margin:160px 16px 23px 24px;min-width:0}.card-body>.primary:first-child,.card-body>.share-row:first-child{margin-top:18px}
@media(min-width:650px){.portrait{min-height:350px}}
@media(max-width:360px){.portrait{min-height:295px}.identity{margin-left:20px}}

/* tokens.css */
/* Approved card palette, shared by the card and embedded booking form. */
:root {
  --card-ink: #f5f8fb;
  --card-muted: #c5d5df;
  --card-paper: #071018;
  --card-surface: #102334e0;
  --card-input: #c8e0f01c;
  --card-action: #dcebf3;
  --card-action-hover: #f2faff;
  --card-action-ink: #112433;
  --card-focus: #c8e8f4;
  --card-control-radius: 12px;
  --card-control-height: 44px;
}

/* noir.css */
@font-face{font-family:CardEditorial;src:url('assets/cormorant-regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:dark;--ink:var(--card-ink);--muted:var(--card-muted);--line:#ffffff33;--paper:var(--card-paper);background:#071018;color:var(--ink);font-family:MBStudioText,Arial,sans-serif;scrollbar-gutter:stable}
body{min-width:0;background:#071018}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--card-focus);outline-offset:3px}
.page{width:100%;max-width:none;min-height:100svh;padding:0;display:block}
.card{width:100%;max-width:none;border:0;border-radius:0;background:var(--paper);box-shadow:none;overflow:clip}
.card-hero{position:relative;isolation:isolate;height:100svh;height:min(100dvh,calc(135vw + 190px));min-height:620px;display:flex;flex-direction:column;justify-content:space-between;padding:max(22px,env(safe-area-inset-top)) clamp(16px,4.5vw,70px) max(16px,env(safe-area-inset-bottom));background:#0d1720;overflow:clip}
.card-hero:before{content:'';position:absolute;inset:-28px;z-index:-4;background:url('assets/noir-portrait.webp') center 29%/cover no-repeat;filter:blur(25px) brightness(.66);pointer-events:none;display:none}
.card-hero[data-booking-open=true]:before{display:block}
.hero-photo{position:absolute;inset:0;z-index:-3;display:block;width:100%;height:100%;object-fit:contain;object-position:center 29%}
.card-hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#07121ed2 0%,#07121d18 22%,#07121d12 43%,#07121d8c 73%,#050d19d9 100%);pointer-events:none}
.hero-header{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;z-index:2}
.brand{display:inline-flex;min-height:44px;padding:5px 0;align-items:center}
.brand-wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;font:400 clamp(17px,4.6vw,23px)/1 MBStudioText,Arial,sans-serif;letter-spacing:-.02em;color:#fff}
.hero-content{position:relative;isolation:isolate;width:min(100%,530px);padding:18px 19px 14px;border:0;border-radius:25px;background:transparent;z-index:1}
.hero-content:before{content:'';position:absolute;inset:-6px;z-index:-1;border-radius:31px;background:linear-gradient(145deg,#d8e8f311,#778ea413 48%,#1b334a46);box-shadow:0 18px 50px 14px #02081122;-webkit-mask-image:radial-gradient(ellipse 55% 58% at center,#000 76%,transparent 100%);mask-image:radial-gradient(ellipse 55% 58% at center,#000 76%,transparent 100%);pointer-events:none}
.hero-eyebrow,.sheet-kicker{font-size:10px;letter-spacing:.21em;color:#d6e9f0;margin:0 0 16px}.hero-eyebrow span{padding:0 5px;color:#b9d7e3}
h1{font-family:CardEditorial,Georgia,serif;font-size:clamp(49px,12.5vw,77px);font-weight:400;letter-spacing:-.047em;line-height:.86;margin:0 0 13px;overflow-wrap:anywhere;text-wrap:balance}
.profession{font-size:10px;font-weight:400;letter-spacing:.26em;line-height:1.5;color:#d5e6ed;margin:0 0 12px}
.hero-intro{max-width:370px;margin:0 0 19px;font-size:13px;line-height:1.45;color:#d7e1e9}
.hero-content .hero-cta{display:flex;width:min(100%,224px);max-width:100%;min-height:44px;margin-inline:auto;justify-content:center;padding:8px 20px;border:1px solid #f0f8fc55;border-radius:999px;background:#dcebf3ed;color:#112433;font:400 14px/1.2 MBStudioText,Arial,sans-serif;box-shadow:0 3px 14px #07152233}
.hero-menu,.hero-instagram,.hero-cta span{display:none}
.booking-sheet{position:fixed;isolation:isolate;inset:auto;left:50%;bottom:max(16px,env(safe-area-inset-bottom));width:min(calc(100% - 32px),424px);max-width:none;max-height:min(78dvh,660px,calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin:0;display:none;flex-direction:column;padding:8px 20px 18px;border:0;border-radius:26px;background:transparent;box-shadow:none;color:var(--ink);transform:translateX(-50%);overflow:visible}
.booking-sheet[open]{display:flex}
.booking-sheet::backdrop{background:transparent}
.booking-sheet:before{content:'';position:absolute;inset:-6px;z-index:-1;border-radius:32px;background:linear-gradient(145deg,#d7e8f415,#839db617 48%,#172e454e);box-shadow:0 20px 60px 15px #020b1833;backdrop-filter:blur(27px) saturate(125%);-webkit-backdrop-filter:blur(27px) saturate(125%);-webkit-mask-image:radial-gradient(ellipse 55% 58% at center,#000 76%,transparent 100%);mask-image:radial-gradient(ellipse 55% 58% at center,#000 76%,transparent 100%);pointer-events:none}
.sheet-handle{display:block;width:60px;height:44px;padding:20px 12px;border:0;background:transparent;margin:0 auto 4px;flex:none;touch-action:pan-x;cursor:pointer}.sheet-handle:after{content:'';display:block;width:36px;height:4px;border-radius:5px;background:#d4e5ef85}
.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:none}.sheet-kicker{margin-bottom:5px}.sheet-heading h2{font:400 clamp(31px,8vw,44px)/1 CardEditorial,Georgia,serif;letter-spacing:-.035em;margin:0}.sheet-close{width:36px;height:36px;min-width:36px;padding:0;border:1px solid #e9f4fa55;border-radius:11px;background:#e3f0f421;color:#fff;font:300 25px/1 Arial,sans-serif}
.sheet-scroll{flex:1 1 auto;min-width:0;overflow:auto;overscroll-behavior:contain;min-height:0;padding-right:2px;scrollbar-width:none}.sheet-scroll::-webkit-scrollbar{display:none}.sheet-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--card-muted);margin:16px 0 10px}.sheet-month{display:inline-block;margin-left:11px;text-transform:none;letter-spacing:.03em;font-size:12px;color:var(--card-muted)}.sheet-services,.sheet-times{display:flex;gap:8px;flex-wrap:wrap}.sheet-days{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:3px}.sheet-days::-webkit-scrollbar{display:none}.sheet-days .month-divider{flex:none;align-self:center;margin:0 3px;color:#e8f4f0a9;font-size:10px;letter-spacing:.03em}.sheet-services button,.sheet-days button,.sheet-times button{border:1px solid #e1f0f663;border-radius:12px;color:#f7fbfc;background:#d1e9f321;min-height:var(--card-control-height);padding:10px 12px;font:400 14px/1.3 MBStudioText,Arial,sans-serif}.sheet-services button[aria-pressed=true],.sheet-days button[aria-pressed=true],.sheet-times button[aria-pressed=true]{background:#e4f1f6;color:#172b3b;border-color:#e4f1f6}.sheet-days button{display:flex;flex-direction:column;gap:4px;min-width:58px;scroll-snap-align:start;text-align:center}.sheet-days button strong{font-size:18px;font-weight:400}.sheet-days button small{font-size:12px}.sheet-days button:disabled{opacity:.35}.sheet-days .day-availability{display:block;width:19px;height:2px;border-radius:2px;background:transparent;margin:2px auto 0}.sheet-days .has-availability .day-availability{background:#eaf7fb}.sheet-days .has-availability[aria-pressed=true] .day-availability{background:#172b3b}.sheet-times button{min-width:69px;text-align:center}.sheet-hint,.sheet-loading{font-size:13px;line-height:1.5;color:#d7e6ed}.sheet-footer{flex:none;padding-top:15px}.sheet-footer p{font-size:13px;line-height:1.5;color:#d9e8ee;margin:0 0 10px}.sheet-continue{max-width:none;min-height:50px;justify-content:center!important;padding:10px 17px;border:1px solid #e6f5f8;border-radius:14px;background:var(--card-action);color:var(--card-action-ink);font-size:14px;font-weight:400}.sheet-continue span{font-size:22px}.sheet-continue.is-muted{background:#dcebf3a6;color:#223e50}
.card-hero[data-booking-open=true] .hero-content{opacity:0;transform:translateY(28px);pointer-events:none}body.card-booking-open{overflow:hidden}
.service-intro{margin:0 0 20px;color:#d7e1e9;font:400 14px/1.6 MBStudioText,Arial,sans-serif;white-space:pre-line;text-wrap:pretty}
.sheet-heading{touch-action:pan-x}.sheet-close{width:44px;height:44px;min-width:44px}
.card-body{width:min(100%,690px);margin:auto;padding:22px clamp(20px,5vw,48px) 25px;scroll-margin-top:0}.quick-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin:0 0 27px}.quick-actions>a,.quick-actions>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:90px;padding:12px 4px;border:1px solid #a9c5e64d;border-radius:13px;background:linear-gradient(145deg,#334968b8,#17263fd1);box-shadow:0 7px 20px #02091444;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#edf5fa;font:400 clamp(11px,3vw,13px)/1.2 MBStudioText,Arial,sans-serif;text-align:center;white-space:nowrap}.quick-actions svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.links-heading{font:400 37px/1 CardEditorial,Georgia,serif;margin:0 0 22px;color:#edf5f7}.button{min-height:52px;border-radius:12px;font-size:14px;letter-spacing:.01em}.secondary{background:#162738;color:var(--ink);border:1px solid #8eacbc66;font-weight:400}.secondary svg{width:19px;height:19px}.share-row{margin-top:0;gap:10px}.social-row{justify-content:flex-start;column-gap:20px;border-color:var(--line);font-size:14px}.social-row span:not(.separator){color:#a9d0df}.social-row a+a:before{background:var(--line)}.contact-row{border-bottom:1px solid var(--line)}.save-contact{color:#d5e5ec;min-height:56px}.tools{color:#b4c4cb;flex-wrap:wrap;gap:12px;margin:0;padding:8px 22px max(22px,env(safe-area-inset-bottom))}.tools button{color:inherit}
.preview-note{position:relative;margin:0;padding:11px 20px;background:#1e3646;color:#e5f0f4}
dialog{color:var(--ink);background:#152839;border:1px solid #7797a655;border-radius:16px;box-shadow:0 24px 80px #000b}dialog::backdrop{background:#000b}.close{background:#2b4353;color:var(--ink)}input{background:#253f50;color:var(--ink);border-color:#7e9cad;font-size:16px}label,.note{color:var(--muted)}.toast{background:#dcebf3;color:#112638}
@media(min-width:800px){
  .page{width:min(100%,520px);min-height:100svh;margin:auto;padding:36px 20px;display:flex;flex-direction:column;justify-content:center}
  .card{border:1px solid #dcecf329;border-radius:26px;box-shadow:0 28px 90px #0009}
  .card-hero{height:min(760px,calc(100dvh - 72px));min-height:620px;padding:25px 27px 24px}
  .hero-photo{object-position:center 29%}
  .hero-content{width:100%;padding:20px 19px 17px}
  .hero-content h1{font-size:64px}
  .booking-sheet{bottom:24px}
  .card-body{width:100%;padding:28px 26px 20px}
}
@media(max-width:380px){.card-hero{padding-inline:13px}.booking-sheet{width:calc(100% - 26px);padding-inline:16px}.hero-content{padding-inline:17px}.brand-wordmark{font-size:16px}h1{font-size:clamp(46px,12vw,55px)}}
@media(max-height:690px){.card-hero{min-height:0}.hero-content{padding-top:15px;padding-bottom:10px}.sheet-label{margin-top:14px}}
@media(max-height:450px){.sheet-handle,.sheet-kicker,.sheet-footer p{display:none}.sheet-heading h2{font-size:26px}.sheet-footer{padding-top:8px}.sheet-continue{min-height:44px}}
@media(prefers-reduced-motion:no-preference){.hero-content{transition:opacity .32s ease,transform .42s cubic-bezier(.2,.72,.2,1)}.sheet-services button,.sheet-days button,.sheet-times button{transition:background .18s,color .18s}.hero-cta:hover,.sheet-continue:hover{background:var(--card-action-hover)}.secondary:hover{background:#284457}}
/* The second step shares the open sheet and the original portrait. */
.booking-sheet:is([data-step=details],[data-step=receipt]){height:min(68dvh,600px,calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}
.booking-sheet:is([data-step=details],[data-step=receipt])>.sheet-scroll,.booking-sheet:is([data-step=details],[data-step=receipt])>.sheet-footer{display:none}
.sheet-details{display:flex;flex:1;min-height:0;flex-direction:column}.sheet-details[hidden]{display:none}
.sheet-back{align-self:flex-start;flex:none;min-height:44px;padding:9px 0;border:0;background:transparent;color:#d6e6ee;text-align:left;font:400 14px/1.4 MBStudioText,Arial,sans-serif}
.booking-sheet:is([data-step=details],[data-step=receipt]) #card-booking-back{display:none}
#card-details-frame{width:100%;flex:1;min-height:0;border:0;background:transparent}
#card-details-frame[hidden],#card-details-retry[hidden],#card-details-status[hidden]{display:none}

.booking-sheet[data-step=receipt]{height:min(52dvh,420px,calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}
.booking-sheet[data-step=receipt] .sheet-heading>div{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.booking-sheet[data-step=receipt] .sheet-heading{justify-content:flex-end}

.booking-sheet[data-step=details] .sheet-kicker{display:none}

/* Light dialog actions keep the same readable ink as the booking action. */
dialog .button.primary{background:var(--card-action);color:var(--card-action-ink);border-color:#e6f5f8}
dialog .button.primary:disabled{opacity:.65;cursor:progress}
.sheet-continue[aria-disabled=true]{opacity:.6;cursor:default}

/* States stay legible over the portrait and in each modal. */
:root{scrollbar-color:#8ba9bd #102334}
::selection{background:var(--card-action);color:var(--card-action-ink)}
input,textarea{caret-color:var(--card-ink)}
summary:focus-visible{outline:2px solid var(--card-focus);outline-offset:3px}
.sheet-scroll{padding:4px 4px 3px;scroll-padding:6px}
.sheet-days{padding:4px 3px 5px}
.sheet-services button,.sheet-times button{overflow-wrap:anywhere;max-width:100%}
.sheet-days button,.sheet-times button{font-variant-numeric:tabular-nums}
.sheet-days button:disabled{opacity:.48}
.sheet-continue[aria-disabled=true]{pointer-events:none}
.booking-sheet[data-step=details]:has(#card-details-frame[hidden]) #card-booking-back{display:block}
.dialog-head h2{font:400 34px/1.05 CardEditorial,Georgia,serif;letter-spacing:-.02em}
.share-status{min-height:1.5em;margin:12px 0 0;font-size:14px;color:var(--card-muted)}
.share-status:empty{display:none}
@media(hover:hover){.sheet-services button:not(:disabled):hover,.sheet-days button:not(:disabled):hover,.sheet-times button:not(:disabled):hover{background:var(--card-action);color:var(--card-action-ink)}}
@media(max-height:450px){.booking-sheet{max-height:calc(100dvh - 24px);bottom:12px}.sheet-label{margin-top:10px}.sheet-footer p{display:block;font-size:12px;max-height:3em;overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-content,.button,.save-contact,.sheet-services button,.sheet-days button,.sheet-times button{transition:none;animation:none}}

@media(hover:hover){dialog .button.primary:not(:disabled):not([aria-disabled=true]):hover{background:var(--card-action-hover)}}

/* One satin highlight introduces the action; touch feedback shares its light. */
.hero-content .hero-cta{position:relative;overflow:hidden;isolation:isolate}
.sheet-services button[aria-pressed=true],.sheet-days button[aria-pressed=true],.sheet-times button[aria-pressed=true]{box-shadow:0 3px 12px #dcebf336,inset 0 1px 0 #ffffff99}
.quick-actions>a:active,.quick-actions>button:active{border-color:#dcebf3b3;box-shadow:0 4px 18px #dcebf326,inset 0 1px 0 #ffffff33}
@media(prefers-reduced-motion:no-preference){
  .hero-content .hero-cta::after{content:'';position:absolute;inset:-60% auto -60% 0;width:32%;background:linear-gradient(110deg,transparent,#ffffff66,transparent);transform:translateX(-220%) skewX(-18deg);pointer-events:none;animation:card-satin-pass 950ms cubic-bezier(.16,1,.3,1) 900ms 1 both}
  .booking-sheet[open]{animation:card-glass-open 320ms cubic-bezier(.16,1,.3,1)}
  .quick-actions>a,.quick-actions>button,.sheet-services button,.sheet-days button,.sheet-times button{transition:background 140ms,border-color 140ms,box-shadow 140ms,transform 140ms cubic-bezier(.16,1,.3,1)}
  .quick-actions>a:active,.quick-actions>button:active,.sheet-services button:not(:disabled):active,.sheet-days button:not(:disabled):active,.sheet-times button:not(:disabled):active{transform:scale(.975)}
  @keyframes card-satin-pass{from{transform:translateX(-220%) skewX(-18deg)}to{transform:translateX(440%) skewX(-18deg)}}
  @keyframes card-glass-open{from{opacity:.86;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
}

/* Mobile language and contact controls. */
.card-language{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid #dcecf342;border-radius:999px;background:#07152273;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.card-language a{display:grid;place-items:center;min-width:40px;min-height:40px;padding:0 8px;border-radius:999px;color:#d8e6ed;text-decoration:none;font-size:11px;letter-spacing:.06em}
.card-language a[aria-current=page]{background:#dcebf3;color:#112433}
.tools :is(button,a){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 2px;border:0;background:transparent;color:inherit;font:inherit;text-decoration:none}
.contact-dialog{position:fixed;inset:auto 12px max(12px,env(safe-area-inset-bottom));width:auto;max-width:430px;margin-inline:auto;padding:18px;border-radius:26px;background:#102536f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.contact-dialog[open]{display:block}
.contact-options{display:grid;gap:8px;margin-top:18px}
.contact-options a{display:flex;align-items:center;gap:14px;min-height:62px;padding:9px 12px;border:1px solid #9db8c74f;border-radius:15px;background:#d7e9f013;color:#f3f8fa;text-decoration:none}
.contact-options a>span:last-child{display:flex;min-width:0;flex-direction:column;font-size:16px;line-height:1.35}
.contact-options small{overflow:hidden;color:#b9ccd6;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.contact-symbol{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#dcebf3;color:#112433;font-size:17px;font-weight:600}
.contact-empty{color:var(--card-muted);font-size:14px}
@media(max-width:380px){.card-language a{min-width:36px;padding:0 5px}.hero-header{gap:8px}.tools{gap:7px;padding-inline:14px}}
