/*
 * Glossmark Beauty: theme styles.
 *
 * 1. The design, as drawn (classes prefixed gm-).
 * 2. WordPress glue: the same design on block markup.
 *
 * Colours, fonts, headline case and corner radius are NOT set here. They come
 * from theme.json / the Site Editor as the --gm-* tokens printed by inc/setup.php.
 */

/* ==========================================================================
   1. The design
   ========================================================================== */
body{background:var(--gm-ground);color:var(--gm-ink);font-family:var(--gm-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
--gm-surface:color-mix(in oklab,var(--gm-ink) 5%,var(--gm-ground));--gm-surface2:color-mix(in oklab,var(--gm-ink) 9%,var(--gm-ground));--gm-line:color-mix(in oklab,var(--gm-ink) 15%,var(--gm-ground));--gm-muted:color-mix(in oklab,var(--gm-ink) 68%,var(--gm-ground))}
*,*::before,*::after{box-sizing:border-box}
h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul{margin:0}
ul{padding:0;list-style:none}
button{font:inherit;color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gm-accent);outline-offset:2px}
.gm-ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.gm-ic-sm{width:16px;height:16px}
.gm-star{width:16px;height:16px;fill:var(--gm-accent);stroke:none}
.gm-stars{display:inline-flex;gap:2px}
.gm-d{font-family:var(--gm-display);font-weight:var(--gm-dw);text-transform:var(--gm-hcase);letter-spacing:var(--gm-dls);line-height:var(--gm-dlh)}
.gm-acc{color:var(--gm-accent-text)}
.gm-muted{color:var(--gm-muted)}
.gm-wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.gm-eyebrow{font:600 12px/1.2 var(--gm-body);letter-spacing:.28em;text-transform:uppercase;color:var(--gm-accent-text);margin-bottom:16px}
.gm-h2{font-size:calc(clamp(40px,5.6vw,76px)*var(--gm-ds))}
.gm-lede{font-size:18px;color:var(--gm-muted);max-width:560px}
.gm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--gm-r);font:700 14px/1 var(--gm-body);letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:filter .15s,border-color .15s,background .15s}
.gm-btn-primary{background:var(--gm-accent);color:var(--gm-on-accent);border-color:var(--gm-accent)}
.gm-btn-primary:hover{filter:brightness(1.08);color:var(--gm-on-accent)}
.gm-btn-ghost{background:transparent;color:var(--gm-ink);border-color:var(--gm-line)}
.gm-btn-ghost:hover{border-color:var(--gm-ink)}
.gm-btn-lg{min-height:58px;padding:0 30px;font-size:15px}
.gm-btn-sm{min-height:44px;padding:0 16px;font-size:12px}
.gm-btn-block{width:100%}
.gm-btn[disabled]{opacity:.38;cursor:not-allowed;filter:none}
.gm-cta-row{display:flex;flex-wrap:wrap;gap:12px}
.gm-hdr{position:sticky;top:0;z-index:20;background:color-mix(in oklab,var(--gm-ground) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gm-line)}
.gm-hdr-in{display:flex;align-items:center;gap:24px;height:78px}
.gm-logo{display:flex;align-items:center;gap:12px;background:none;border:0;padding:0;cursor:pointer;text-align:left;min-height:44px}
.gm-logo-img{height:44px;width:auto;display:block}
.gm-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--gm-accent);color:var(--gm-on-accent);font:var(--gm-dwh) calc(19px*var(--gm-dss))/1 var(--gm-display);letter-spacing:.02em;clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}
.gm-logo-txt{display:flex;flex-direction:column;gap:5px}
.gm-logo-name{font:var(--gm-dw) calc(23px*var(--gm-dss))/1 var(--gm-display);text-transform:var(--gm-hcase);letter-spacing:.03em}
.gm-logo-sub{font:600 10px/1 var(--gm-body);letter-spacing:.32em;text-transform:uppercase;color:var(--gm-muted)}
.gm-nav{display:flex;gap:2px;margin-left:auto}
.gm-nav-btn{background:none;border:0;color:var(--gm-muted);font:600 13px/1 var(--gm-body);letter-spacing:.16em;text-transform:uppercase;padding:0 16px;min-height:44px;cursor:pointer}
.gm-nav-btn:hover{color:var(--gm-ink)}
.gm-nav-btn.gm-on{color:var(--gm-ink);box-shadow:inset 0 -2px 0 var(--gm-accent)}
.gm-mnav{display:none;gap:0;border-top:1px solid var(--gm-line);padding:0 10px}
.gm-mnav-btn{flex:1;background:none;border:0;color:var(--gm-muted);font:600 12px/1 var(--gm-body);letter-spacing:.14em;text-transform:uppercase;min-height:46px;cursor:pointer}
.gm-mnav-btn.gm-on{color:var(--gm-ink);box-shadow:inset 0 -2px 0 var(--gm-accent)}
.gm-ph{position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 13px),radial-gradient(120% 95% at 30% 18%,#3b352e 0%,#1c1a17 55%,#0f0e0c 100%)}
.gm-ph.gm-t2{background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 13px),radial-gradient(120% 95% at 70% 20%,#30353a 0%,#181a1d 55%,#0d0e10 100%)}
.gm-ph.gm-t3{background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 13px),radial-gradient(120% 95% at 40% 25%,#3e2d23 0%,#1d1511 55%,#100b09 100%)}
.gm-ph.gm-t4{background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 13px),radial-gradient(120% 95% at 60% 30%,#383633 0%,#1a1918 55%,#0e0e0d 100%)}
.gm-ph-tag{position:absolute;left:12px;bottom:12px;display:inline-flex;gap:7px;align-items:center;font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.78);background:rgba(0,0,0,.5);padding:7px 9px;border-radius:2px}
.gm-ph-ini{font:var(--gm-dwh) calc(72px*var(--gm-ds))/1 var(--gm-display);color:rgba(255,255,255,.13);letter-spacing:.02em}
.gm-hero{position:relative;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--gm-line)}
.gm-hero-ph{position:absolute;inset:0}
.gm-hero-ph .gm-ph-tag{left:auto;right:24px;top:24px;bottom:auto}
.gm-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in oklab,var(--gm-ground) var(--gm-shade-top),transparent) 0%,color-mix(in oklab,var(--gm-ground) var(--gm-shade-mid),transparent) 50%,color-mix(in oklab,var(--gm-ground) 96%,transparent) 100%)}
.gm-hero-in{position:relative;width:100%;padding-top:140px;padding-bottom:64px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.gm-hero-copy{display:flex;flex-direction:column;gap:24px;max-width:820px}
.gm-h1{font-size:calc(clamp(64px,10vw,150px)*var(--gm-ds));font-weight:var(--gm-dwh)}
.gm-h1 .gm-ln{display:block}
.gm-gbadge{display:flex;align-items:center;gap:16px;padding:18px 22px;background:color-mix(in oklab,var(--gm-ground) 80%,transparent);border:1px solid var(--gm-line);border-radius:var(--gm-r);text-decoration:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.gm-gbadge:hover{border-color:var(--gm-accent)}
.gm-g-score{font:var(--gm-dwh) calc(52px*var(--gm-ds))/1 var(--gm-display)}
.gm-g-col{display:flex;flex-direction:column;gap:6px}
.gm-g-meta{font-size:13px;color:var(--gm-muted)}
.gm-g-src{font:700 11px/1 var(--gm-body);letter-spacing:.2em;text-transform:uppercase}
.gm-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--gm-line)}
.gm-fact{display:flex;gap:14px;align-items:flex-start;padding:26px 24px;border-right:1px solid var(--gm-line);text-decoration:none;color:var(--gm-ink)}
.gm-fact:last-child{border-right:0}
a.gm-fact:hover .gm-fact-v{color:var(--gm-accent-text)}
.gm-fact .gm-ic{color:var(--gm-accent-text);margin-top:2px}
.gm-fact-k{font-weight:700;font-size:15px}
.gm-fact-v{font-size:14px;color:var(--gm-muted)}
.gm-sec{padding:104px 0}
.gm-sec-alt{background:var(--gm-surface);border-top:1px solid var(--gm-line);border-bottom:1px solid var(--gm-line)}
.gm-sec-tight{padding:56px 0 96px}
.gm-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.gm-work{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gm-tile{display:block;width:100%;aspect-ratio:4/5;border:0;padding:0;cursor:pointer;border-radius:var(--gm-r)}
.gm-tile:hover{outline:2px solid var(--gm-accent);outline-offset:-2px}
.gm-price-wrap{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start}
.gm-price-intro{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.gm-board{display:flex;flex-direction:column}
.gm-board-row{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--gm-line)}
.gm-board-row:first-child{border-top:1px solid var(--gm-line)}
.gm-board-name{display:flex;flex-direction:column;gap:4px;font:var(--gm-dw) calc(30px*var(--gm-dss))/1 var(--gm-display);text-transform:var(--gm-hcase)}
.gm-board-dur{font:500 13px/1 var(--gm-body);color:var(--gm-muted);text-transform:none;letter-spacing:0}
.gm-dots{flex:1;min-width:16px;border-bottom:1px dashed var(--gm-line);transform:translateY(6px)}
.gm-board-price{font:var(--gm-dwh) calc(36px*var(--gm-dss))/1 var(--gm-display);color:var(--gm-accent-text)}
.gm-mini{min-height:44px;padding:0 16px;border:1px solid var(--gm-line);background:none;color:var(--gm-ink);font:700 12px/1 var(--gm-body);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--gm-r);cursor:pointer}
.gm-mini:hover{border-color:var(--gm-accent);color:var(--gm-accent-text)}
.gm-reviews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gm-gcard{display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--gm-accent);color:var(--gm-on-accent);border-radius:var(--gm-r);text-decoration:none}
.gm-gcard:hover{color:var(--gm-on-accent);filter:brightness(1.06)}
.gm-gcard .gm-star{fill:var(--gm-on-accent)}
.gm-g-big{font-size:calc(96px*var(--gm-ds));font-weight:var(--gm-dwh)}
.gm-gcard .gm-g-meta{color:var(--gm-on-accent);opacity:.85}
.gm-g-link{margin-top:auto;font:700 12px/1.3 var(--gm-body);letter-spacing:.16em;text-transform:uppercase}
.gm-rev{display:flex;flex-direction:column;gap:16px;padding:28px;background:var(--gm-surface);border:1px solid var(--gm-line);border-radius:var(--gm-r)}
.gm-rev blockquote{font-size:17px;line-height:1.5;flex:1}
.gm-rev figcaption{font-size:14px;font-weight:700}
.gm-rev-src{font-weight:500;color:var(--gm-muted)}
.gm-about{display:grid;grid-template-columns:4fr 8fr;gap:64px;align-items:start}
.gm-about-copy{display:flex;flex-direction:column;gap:18px}
.gm-about-copy p{color:var(--gm-muted)}
.gm-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gm-barber{display:flex;flex-direction:column;background:var(--gm-ground);border:1px solid var(--gm-line);border-radius:var(--gm-r);overflow:hidden}
.gm-barber-ph{aspect-ratio:4/5;display:grid;place-items:center}
.gm-barber-body{display:flex;flex-direction:column;gap:6px;padding:20px;align-items:flex-start}
.gm-barber-name{font-size:calc(30px*var(--gm-dss))}
.gm-barber-role{font:600 11px/1.3 var(--gm-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gm-accent-text)}
.gm-barber-spec{font-size:14px;color:var(--gm-muted);margin-bottom:10px}
.gm-visit{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.gm-map{position:relative;aspect-ratio:4/3;border:1px solid var(--gm-line);border-radius:var(--gm-r);overflow:hidden;background-color:var(--gm-surface);background-image:linear-gradient(90deg,color-mix(in oklab,var(--gm-ink) 7%,transparent) 1px,transparent 1px),linear-gradient(0deg,color-mix(in oklab,var(--gm-ink) 7%,transparent) 1px,transparent 1px);background-size:44px 44px}
.gm-road{position:absolute;background:color-mix(in oklab,var(--gm-ink) 13%,var(--gm-ground))}
.gm-road.gm-r1{left:-10%;right:-10%;top:58%;height:16px;transform:rotate(-8deg)}
.gm-road.gm-r2{top:-10%;bottom:-10%;left:38%;width:12px;transform:rotate(12deg)}
.gm-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:grid;place-items:center;width:52px;height:52px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--gm-accent);color:var(--gm-on-accent);box-shadow:0 10px 30px rgba(0,0,0,.45)}
.gm-pin .gm-ic{rotate:45deg}
.gm-visit-info{display:flex;flex-direction:column;gap:22px}
.gm-addr{font-style:normal;font-size:20px;line-height:1.45}
.gm-note{font-size:14px;color:var(--gm-muted);display:flex;gap:10px;align-items:flex-start}
.gm-note .gm-ic{color:var(--gm-accent-text)}
.gm-hours{display:flex;flex-direction:column;border-top:1px solid var(--gm-line)}
.gm-hrow{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--gm-line);font-size:15px}
.gm-hrow dt{font-weight:600}
.gm-hrow dd{color:var(--gm-muted)}
.gm-hrow.gm-today dt,.gm-hrow.gm-today dd{color:var(--gm-accent-text);font-weight:700}
.gm-ftr{border-top:1px solid var(--gm-line);padding:72px 0 0;background:var(--gm-ground)}
.gm-ftr-in{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px}
.gm-ftr-brand{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.gm-ftr-brand p{color:var(--gm-muted);max-width:320px;font-size:15px}
.gm-ftr-h{font:700 12px/1 var(--gm-body);letter-spacing:.22em;text-transform:uppercase;color:var(--gm-muted);margin-bottom:16px}
.gm-ftr-col{display:flex;flex-direction:column;gap:8px;font-size:15px}
.gm-ftr-col a{text-decoration:none;min-height:28px;display:inline-flex;align-items:center}
.gm-ftr-col a:hover{color:var(--gm-accent-text)}
.gm-ftr-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;padding-bottom:28px;border-top:1px solid var(--gm-line);font-size:13px;color:var(--gm-muted)}
.gm-mbar{display:none;position:sticky;bottom:0;z-index:30;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in oklab,var(--gm-ground) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--gm-line)}
.gm-mbar .gm-btn-primary{flex:1;min-height:54px}
.gm-icon-btn{display:grid;place-items:center;width:54px;height:54px;flex:none;border:1px solid var(--gm-line);border-radius:var(--gm-r);color:var(--gm-ink);text-decoration:none}
.gm-phead{padding:88px 0 8px}
.gm-phead .gm-wrap{display:flex;flex-direction:column;gap:20px}
.gm-h1p{font-size:calc(clamp(64px,9vw,128px)*var(--gm-ds));font-weight:var(--gm-dwh)}
.gm-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.gm-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--gm-line);border-radius:var(--gm-r);font-size:14px;color:var(--gm-muted)}
.gm-pill .gm-ic{color:var(--gm-accent-text)}
.gm-grp{margin-bottom:48px}
.gm-grp-h{font:700 12px/1 var(--gm-body);letter-spacing:.28em;text-transform:uppercase;color:var(--gm-muted);padding-bottom:14px;border-bottom:2px solid var(--gm-ink)}
.gm-svc{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;padding:30px 0;border-bottom:1px solid var(--gm-line)}
.gm-svc-l{flex:1 1 380px;display:flex;flex-direction:column;gap:10px;min-width:0}
.gm-svc-name{font-size:calc(44px*var(--gm-ds))}
.gm-svc-desc{color:var(--gm-muted);max-width:560px}
.gm-svc-dur{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.gm-svc-dur .gm-ic{color:var(--gm-accent-text)}
.gm-svc-r{display:flex;align-items:center;gap:24px}
.gm-svc-price{font-size:calc(64px*var(--gm-ds));font-weight:var(--gm-dwh);color:var(--gm-accent-text);min-width:110px;text-align:right}
.gm-svc-r .gm-btn{min-width:120px}
.gm-policy{display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid color-mix(in oklab,var(--gm-accent) 50%,var(--gm-line));background:color-mix(in oklab,var(--gm-accent) 7%,var(--gm-ground));border-radius:var(--gm-r)}
.gm-policy-h{display:flex;align-items:center;gap:10px;font:700 13px/1.2 var(--gm-body);letter-spacing:.18em;text-transform:uppercase}
.gm-policy-h .gm-ic{color:var(--gm-accent-text)}
.gm-policy-l{display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--gm-muted)}
.gm-policy-l strong{color:var(--gm-ink)}
.gm-chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 28px}
.gm-chip{min-height:44px;padding:0 18px;border:1px solid var(--gm-line);border-radius:var(--gm-r);background:none;color:var(--gm-muted);font:700 12px/1 var(--gm-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.gm-chip:hover{color:var(--gm-ink);border-color:var(--gm-ink)}
.gm-chip.gm-on{background:var(--gm-ink);color:var(--gm-ground);border-color:var(--gm-ink)}
.gm-gal-count{font-size:14px;color:var(--gm-muted);margin-bottom:14px}
.gm-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gm-gal-item{display:flex;flex-direction:column;gap:10px}
.gm-gal-ph{aspect-ratio:4/5;border-radius:var(--gm-r)}
.gm-gal-item figcaption{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}
.gm-gal-cta{margin-top:72px;padding:48px;border:1px solid var(--gm-line);border-radius:var(--gm-r);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--gm-surface)}
.gm-bk{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.gm-bk-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.gm-bk-side{flex:1 1 320px;position:sticky;top:102px}
.gm-step{background:var(--gm-surface);border:1px solid var(--gm-line);border-radius:var(--gm-r);padding:28px}
.gm-step-h{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.gm-num{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gm-line);font:var(--gm-dw) calc(17px*var(--gm-dss))/1 var(--gm-display);flex:none}
.gm-num.gm-done{background:var(--gm-accent);color:var(--gm-on-accent);border-color:var(--gm-accent)}
.gm-step-t{font-size:calc(32px*var(--gm-dss))}
.gm-step-pick{margin-left:auto;font-size:14px;color:var(--gm-muted)}
.gm-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gm-opt{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:14px 18px;text-align:left;background:var(--gm-ground);border:1px solid var(--gm-line);border-radius:var(--gm-r);cursor:pointer;color:var(--gm-ink)}
.gm-opt:hover{border-color:color-mix(in oklab,var(--gm-ink) 45%,var(--gm-ground))}
.gm-opt.gm-on{border-color:var(--gm-accent);box-shadow:inset 0 0 0 1px var(--gm-accent)}
.gm-opt-main{display:flex;align-items:center;gap:14px;min-width:0}
.gm-opt-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.gm-opt-name{font-weight:700;font-size:16px}
.gm-opt-sub{font-size:13px;color:var(--gm-muted)}
.gm-opt-price{font:var(--gm-dwh) calc(26px*var(--gm-dss))/1 var(--gm-display);color:var(--gm-accent-text)}
.gm-opt-ph{width:58px;height:58px;flex:none;display:grid;place-items:center;border-radius:var(--gm-r);font:var(--gm-dwh) calc(20px*var(--gm-dss))/1 var(--gm-display);color:rgba(255,255,255,.55)}
.gm-opt-tick{width:24px;height:24px;flex:none;border:1px solid var(--gm-line);border-radius:50%;display:grid;place-items:center}
.gm-opt.gm-on .gm-opt-tick{background:var(--gm-accent);border-color:var(--gm-accent);color:var(--gm-on-accent)}
.gm-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:18px}
.gm-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;min-height:84px;background:var(--gm-ground);border:1px solid var(--gm-line);border-radius:var(--gm-r);cursor:pointer;color:var(--gm-ink)}
.gm-day:hover{border-color:color-mix(in oklab,var(--gm-ink) 45%,var(--gm-ground))}
.gm-day.gm-on{background:var(--gm-accent);border-color:var(--gm-accent);color:var(--gm-on-accent)}
.gm-day[disabled]{opacity:.35;cursor:not-allowed}
.gm-day-w{font:700 11px/1 var(--gm-body);letter-spacing:.16em;text-transform:uppercase}
.gm-day-n{font-size:calc(30px*var(--gm-dss));font-weight:var(--gm-dwh)}
.gm-day-m{font-size:11px;opacity:.8}
.gm-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gm-slot{min-height:48px;background:var(--gm-ground);border:1px solid var(--gm-line);border-radius:var(--gm-r);cursor:pointer;font-weight:600;font-size:15px;color:var(--gm-ink)}
.gm-slot:hover{border-color:color-mix(in oklab,var(--gm-ink) 45%,var(--gm-ground))}
.gm-slot.gm-on{background:var(--gm-accent);border-color:var(--gm-accent);color:var(--gm-on-accent)}
.gm-slot[disabled]{opacity:.3;text-decoration:line-through;cursor:not-allowed}
.gm-hint{font-size:15px;color:var(--gm-muted);padding:16px;border:1px dashed var(--gm-line);border-radius:var(--gm-r)}
.gm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.gm-field{display:flex;flex-direction:column;gap:8px}
.gm-field.gm-full{grid-column:1/-1}
.gm-field label{font:700 11px/1 var(--gm-body);letter-spacing:.18em;text-transform:uppercase;color:var(--gm-muted)}
.gm-field input{width:100%;min-height:52px;background:var(--gm-ground);border:1px solid var(--gm-line);color:var(--gm-ink);padding:0 14px;font:16px var(--gm-body);border-radius:var(--gm-r)}
.gm-field input::placeholder{color:color-mix(in oklab,var(--gm-ink) 40%,var(--gm-ground))}
.gm-agree{display:flex;align-items:center;gap:12px;min-height:48px;margin:16px 0;font-size:15px;cursor:pointer}
.gm-agree input{width:22px;height:22px;accent-color:var(--gm-accent);flex:none}
.gm-fine{font-size:13px;color:var(--gm-muted);margin-top:12px;text-align:center}
.gm-sum{background:var(--gm-surface);border:1px solid var(--gm-line);border-radius:var(--gm-r);padding:26px;display:flex;flex-direction:column;gap:4px}
.gm-sum-h{font-size:calc(28px*var(--gm-dss));margin-bottom:12px}
.gm-sum-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--gm-line);font-size:15px}
.gm-sum-row span:first-child{color:var(--gm-muted)}
.gm-sum-row span:last-child{font-weight:600;text-align:right}
.gm-sum-due{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:16px}
.gm-sum-due-k{font:700 12px/1.2 var(--gm-body);letter-spacing:.18em;text-transform:uppercase}
.gm-sum-due-v{font:var(--gm-dwh) calc(48px*var(--gm-ds))/1 var(--gm-display);color:var(--gm-accent-text)}
.gm-sum-bal{font-size:14px;color:var(--gm-muted)}
.gm-done{max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:48px;background:var(--gm-surface);border:1px solid var(--gm-line);border-radius:var(--gm-r)}
.gm-done-ic{width:64px;height:64px;display:grid;place-items:center;background:var(--gm-accent);color:var(--gm-on-accent);border-radius:50%}
.gm-done-ic .gm-ic{width:30px;height:30px;stroke-width:2.5}
.gm-done-list{width:100%;display:flex;flex-direction:column}

/* ==========================================================================
   2. WordPress glue: the same design on block markup
   ========================================================================== */
body{font-synthesis-weight:none;
--gm-i-clock:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E");--gm-i-calendar:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223.5%22 y=%225%22 width=%2217%22 height=%2215%22 rx=%221%22/%3E%3Cpath d=%22M3.5 10h17M8 3v4M16 3v4%22/%3E%3C/svg%3E");--gm-i-shield:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z%22/%3E%3C/svg%3E");--gm-i-pin:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z%22/%3E%3Ccircle cx=%2212%22 cy=%229.5%22 r=%222.5%22/%3E%3C/svg%3E");--gm-i-phone:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z%22/%3E%3C/svg%3E");--gm-i-arrow:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14M13 6l6 6-6 6%22/%3E%3C/svg%3E");--gm-i-star:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22black%22%3E%3Cpath d=%22M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z%22/%3E%3C/svg%3E")}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--gm-accent-text);outline-offset:2px}
mark.has-inline-color{background:none}
body .has-accent-color{color:var(--gm-accent-text)!important}
.gm-star{fill:var(--gm-accent-text)}
.gm-gcard .gm-g-meta{opacity:1}

/* Icons drawn with a mask, for text written in the editor */
[class*="gm-i-"]::before{content:"";flex:none;width:16px;height:16px;background:var(--gm-accent-text);-webkit-mask:var(--gm-icon) center/contain no-repeat;mask:var(--gm-icon) center/contain no-repeat}
.gm-i-clock{--gm-icon:var(--gm-i-clock)}
.gm-i-calendar{--gm-icon:var(--gm-i-calendar)}
.gm-i-shield{--gm-icon:var(--gm-i-shield)}

/* Buttons: core button block = .gm-btn */
body .wp-block-buttons{gap:12px}
body .wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:auto;min-height:48px;padding:0 22px;border-radius:var(--gm-r);font:700 14px/1 var(--gm-body);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gm-accent);background:var(--gm-accent);color:var(--gm-on-accent);text-decoration:none;white-space:nowrap;transition:filter .15s,border-color .15s,background .15s}
body .wp-block-button .wp-block-button__link:hover{filter:brightness(1.08);color:var(--gm-on-accent)}
body .wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;color:var(--gm-ink);border:1px solid var(--gm-line);padding:0 22px}
body .wp-block-button.is-style-outline>.wp-block-button__link:hover{border-color:var(--gm-ink);color:var(--gm-ink);filter:none}
body .wp-block-button.is-lg>.wp-block-button__link{min-height:58px;padding:0 30px;font-size:15px}
body .wp-block-button.is-sm>.wp-block-button__link{min-height:44px;padding:0 16px;font-size:12px}
.wp-block-button[class*="has-icon-"]>.wp-block-button__link::before,.wp-block-button.has-arrow>.wp-block-button__link::after{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--gm-icon) center/contain no-repeat;mask:var(--gm-icon) center/contain no-repeat}
.has-icon-pin{--gm-icon:var(--gm-i-pin)}
.has-icon-phone{--gm-icon:var(--gm-i-phone)}
.has-arrow{--gm-icon:var(--gm-i-arrow)}
a.gm-btn,a.gm-mini{text-decoration:none}
a.gm-mini{display:inline-flex;align-items:center}

/* Header */
.gm-hdr{margin:0}
.admin-bar .gm-hdr{top:32px}
a.gm-logo{text-decoration:none;color:inherit}
.gm-logo-img{max-width:160px;object-fit:contain}
.gm-hdr .gm-nav .wp-block-navigation__container{gap:2px}
.gm-hdr .gm-nav .wp-block-navigation-item .wp-block-navigation-item__content{display:flex;align-items:center;color:var(--gm-muted);font:600 13px/1 var(--gm-body);letter-spacing:.16em;text-transform:uppercase;padding:0 16px;min-height:44px;text-decoration:none}
.gm-hdr .gm-nav .wp-block-navigation-item .wp-block-navigation-item__content:hover{color:var(--gm-ink)}
.gm-hdr .gm-nav .current-menu-item>.wp-block-navigation-item__content,.gm-hdr .gm-nav .wp-block-navigation-item__content[aria-current="page"]{color:var(--gm-ink);box-shadow:inset 0 -2px 0 var(--gm-accent)}
.gm-hdr-book{flex:none}

/* Photos and placeholders */
.gm-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gm-ph-tag{z-index:1}
a.gm-tile{text-decoration:none}
.gm-barber-ph{position:relative}

/* Hero */
.gm-hero-copy>.gm-eyebrow,.gm-price-intro>.gm-eyebrow,.gm-about-copy>.gm-eyebrow,.gm-phead .gm-eyebrow{margin-bottom:0}
.gm-facts-wrap{padding:0}

/* Reviews: core quote block = .gm-rev */
blockquote.gm-rev{margin:0}
.gm-rev::before{content:"";flex:none;width:90px;height:16px;background:var(--gm-accent-text);-webkit-mask:var(--gm-i-star) left center/18px 16px repeat-x;mask:var(--gm-i-star) left center/18px 16px repeat-x}
.gm-rev p{font-size:17px;line-height:1.5;flex:1}
.gm-rev cite{font-size:14px;font-weight:700;font-style:normal}
.gm-rev cite em{font-style:normal;font-weight:500;color:var(--gm-muted)}

/* Visit */
a.gm-map{display:block}
.gm-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gm-note::before{width:20px;height:20px;margin-top:1px}

/* Services page */
.gm-pills>li{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--gm-line);border-radius:var(--gm-r);font-size:14px;color:var(--gm-muted)}
.gm-menu+.gm-policy,.gm-menu~.wp-block-template-part{margin-top:0}
.gm-policy-h{text-transform:uppercase}
.gm-policy-h::before{width:20px;height:20px}
.gm-grp-h,.gm-ftr-h{font-family:var(--gm-body)}

/* Gallery */
.gm-gal-item[hidden]{display:none}
.gm-gal-cta-actions{flex:1 1 320px;justify-content:flex-end}

/* Booking */
.gm-bk-side{display:flex;flex-direction:column;gap:16px}
.admin-bar .gm-bk-side{top:134px}
.gm-hint-text{color:var(--gm-muted);margin-bottom:20px}
.gm-step .gm-hint{margin-top:20px}
.gm-bk-policy-note{font-size:13px;color:var(--gm-muted);margin-top:14px}

/* Footer */
.gm-ftr{margin:0}
.gm-ftr-base p{margin:0}

/* Sticky Book Now bar (phones) */
.gm-mbar{position:fixed;left:0;right:0;bottom:0}

/* Ordinary pages (privacy policy, posts, 404) */
.gm-prose{max-width:824px;margin:0 auto;padding:0 32px 96px}
.gm-prose>*+*{margin-top:1.1em}
.gm-prose h2{font-size:calc(40px*var(--gm-ds));margin-top:1.6em}
.gm-prose h3{font-size:calc(28px*var(--gm-dss));margin-top:1.4em}
.gm-prose ul,.gm-prose ol{padding-left:1.3em;list-style:revert}
.gm-prose a{color:var(--gm-accent-text)}

/* Design, medium and small screens */
@media (max-width:1080px){
.gm-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
.gm-about{grid-template-columns:minmax(0,1fr);gap:40px}
.gm-price-wrap{gap:48px}
.gm-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.gm-fact:nth-child(2){border-right:0}
.gm-fact:nth-child(-n+2){border-bottom:1px solid var(--gm-line)}
}
@media (max-width:760px){
.gm-wrap{padding:0 18px}
.gm-nav,.gm-hdr-book{display:none}
.gm-mnav{display:flex}
.gm-hdr-in{height:64px}
.gm-logo-name{font-size:calc(20px*var(--gm-dss))}
.gm-mark{width:40px;height:40px;font-size:calc(17px*var(--gm-dss))}
.gm-mbar{display:flex}
.gm-hero{min-height:620px}
.gm-hero-in{padding-top:120px;padding-bottom:32px;gap:24px}
.gm-hero-copy{gap:18px}
.gm-lede{font-size:16px}
.gm-hero .gm-btn-lg{flex:1}
.gm-gbadge{width:100%;padding:14px 16px}
.gm-g-score{font-size:calc(42px*var(--gm-ds))}
.gm-facts{grid-template-columns:minmax(0,1fr)}
.gm-fact{border-right:0;border-bottom:1px solid var(--gm-line);padding:18px}
.gm-fact:last-child{border-bottom:0}
.gm-sec{padding:64px 0}
.gm-sec-tight{padding:32px 0 64px}
.gm-sec-head{margin-bottom:28px}
.gm-work{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.gm-price-wrap{grid-template-columns:minmax(0,1fr);gap:32px}
.gm-board-name{font-size:calc(24px*var(--gm-dss))}
.gm-board-price{font-size:calc(30px*var(--gm-dss))}
.gm-reviews{grid-template-columns:minmax(0,1fr)}
.gm-g-big{font-size:calc(72px*var(--gm-ds))}
.gm-team{grid-template-columns:minmax(0,1fr);gap:10px}
.gm-barber{flex-direction:row}
.gm-barber-ph{width:112px;aspect-ratio:auto;flex:none}
.gm-barber-ph .gm-ph-ini{font-size:calc(40px*var(--gm-ds))}
.gm-barber-ph .gm-ph-tag{display:none}
.gm-barber-body{padding:16px}
.gm-barber-name{font-size:calc(26px*var(--gm-dss))}
.gm-visit{grid-template-columns:minmax(0,1fr);gap:32px}
.gm-visit .gm-btn{flex:1}
.gm-ftr{padding-top:48px}
.gm-ftr-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.gm-ftr-brand{grid-column:1/-1}
.gm-phead{padding:48px 0 4px}
.gm-svc{padding:24px 0;gap:16px}
.gm-svc-name{font-size:calc(36px*var(--gm-dss))}
.gm-svc-l{flex-basis:100%}
.gm-svc-r{width:100%;justify-content:space-between}
.gm-svc-price{font-size:calc(48px*var(--gm-ds));text-align:left;min-width:0}
.gm-chips{flex-wrap:nowrap;overflow-x:auto;margin:4px -18px 20px;padding:0 18px 4px}
.gm-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.gm-gal-item figcaption{flex-direction:column;gap:2px;font-size:13px}
.gm-gal-cta{padding:28px;margin-top:48px}
.gm-gal-cta .gm-btn{flex:1}
.gm-bk{gap:16px}
.gm-bk-side{position:static;order:-1;flex-basis:100%}
.gm-step{padding:20px 16px}
.gm-step-t{font-size:calc(28px*var(--gm-dss))}
.gm-step-pick{margin-left:48px;width:100%}
.gm-opts{grid-template-columns:minmax(0,1fr)}
.gm-days{gap:4px}
.gm-day{min-height:76px;padding:10px 2px}
.gm-day-n{font-size:calc(24px*var(--gm-dss))}
.gm-day-w{font-size:10px;letter-spacing:.08em}
.gm-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
.gm-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.gm-sum{padding:18px}
.gm-sum-h{font-size:calc(24px*var(--gm-dss));margin-bottom:6px}
.gm-sum-due-v{font-size:calc(40px*var(--gm-ds))}
.gm-done{padding:28px 20px}
.gm-done .gm-btn{flex:1}
}

/* Glue, small screens */
@media (max-width:782px){
.admin-bar .gm-hdr{top:46px}
}
@media (max-width:760px){
.gm-hdr-in{flex-wrap:wrap;height:auto;row-gap:0}
body .gm-hdr-book{display:none}
.gm-logo{min-height:64px}
.gm-nav{display:flex;order:3;flex:0 0 calc(100% + 36px);margin:0 -18px;padding:0 10px;border-top:1px solid var(--gm-line)}
.gm-hdr .gm-nav .wp-block-navigation__container{width:100%;gap:0;flex-wrap:nowrap}
.gm-hdr .gm-nav .wp-block-navigation-item{flex:1}
.gm-hdr .gm-nav .wp-block-navigation-item .wp-block-navigation-item__content{width:100%;justify-content:center;font-size:12px;letter-spacing:.14em;min-height:46px;padding:0}
.gm-facts-wrap{padding:0}
.gm-hero .wp-block-button,.gm-visit .wp-block-button,.gm-gal-cta .wp-block-button{flex:1}
.gm-hero .wp-block-button__link,.gm-visit .wp-block-button__link,.gm-gal-cta .wp-block-button__link{width:100%}
.gm-bk-side{order:0}
.gm-prose{padding:0 18px 64px}
body:has(.gm-mbar){padding-bottom:calc(79px + env(safe-area-inset-bottom))}
}
@media (max-width:600px){
.admin-bar .gm-hdr{top:0}
}
@media (prefers-reduced-motion:reduce){
*{transition:none!important;scroll-behavior:auto!important}
}
