.nav-items{display:flex;gap:26px;list-style:none;padding:0;margin:0;align-items:center}.nav-items .current-menu-item>a{color:var(--red);text-decoration:underline;text-underline-offset:5px}.custom-logo-link img{max-width:210px;max-height:64px;width:auto}.wordmark{text-transform:uppercase}.footer-menu{margin-top:20px}.content-area{padding-block:60px;min-height:50vh}.content-area h1{font:400 clamp(44px,7vw,90px)/1.15 var(--fb-display)}.content-area h3{font-family:var(--fb-display);font-weight:400}.post-entry{padding-block:30px;border-bottom:1px solid var(--line)}.post-entry img{height:auto}.content-area input,.content-area textarea{max-width:100%;padding:12px;border:1px solid var(--ink)}.content-area input[type=submit],.content-area button{padding:12px 20px;background:var(--ink);color:var(--paper)}
.elementor{--widgets-spacing:0px}.elementor .elementor-widget-heading .elementor-heading-title{font-family:var(--fb-display);font-weight:400;font-size:clamp(40px,4.4vw,62px);line-height:1.1;letter-spacing:-.5px}.elementor .elementor-widget-text-editor{font-family:var(--body);font-size:14px;line-height:1.8;color:inherit}.elementor .elementor-widget-text-editor p{margin:0}.elementor .eyebrow{margin:0}.elementor .eyebrow p{font-size:10px;font-weight:800;letter-spacing:1.3px}.elementor .fb-section{--padding-top:76px;--padding-bottom:76px;padding:76px 56px}.elementor .fb-section>.e-con-inner{gap:70px;align-items:center}.elementor .fb-section.fb-hero{padding-top:48px;padding-bottom:64px}.elementor .fb-hero>.e-con-inner{gap:44px}.elementor :is(.fb-hero-heading,.fb-hero-accent) .elementor-heading-title{font-size:clamp(60px,7.7vw,110px);line-height:1.07;letter-spacing:-1.6px}.elementor .fb-hero-copy p{max-width:340px;font-size:15px}.elementor .fb-hero-art img{aspect-ratio:1.08;object-fit:cover;object-position:50% 44%;width:100%}.elementor .fb-shop{background:var(--ink);color:var(--paper)}.elementor .fb-shop-art img{aspect-ratio:1.2;object-fit:cover;width:100%}.elementor .fb-services{border-top:1px solid var(--line)}.elementor .fb-work>.e-con-inner,.elementor .fb-gallery-page>.e-con-inner,.elementor .fb-page-heading>.e-con-inner,.elementor .fb-services-page>.e-con-inner,.elementor .fb-barbers-page>.e-con-inner,.elementor .fb-faq>.e-con-inner{align-items:stretch;gap:26px}.elementor .fb-gallery-heading{flex-direction:row;align-items:baseline;justify-content:space-between}.elementor .fb-gallery-heading>.elementor-element{width:auto}.elementor .fb-crew{border-top:1px solid var(--line)}.elementor .fb-visit{background:var(--red);color:var(--paper)}.elementor .fb-visit-title .elementor-heading-title{font-size:clamp(50px,6.6vw,94px)}.elementor .fb-location .elementor-heading-title{font-family:var(--body);font-size:23px;font-weight:700;letter-spacing:0}.fb-hours{width:100%;border-collapse:collapse;font-size:13px}.fb-hours th,.fb-hours td{font-weight:400;text-align:left;padding:8px 0;border-bottom:1px solid #ffffff55}.fb-hours td{text-align:right}.elementor :is(.fb-page-title,.fb-page-accent) .elementor-heading-title{font-size:clamp(60px,7.7vw,110px)}.elementor .fb-page-heading{padding-bottom:30px}.elementor .fb-faq-question .elementor-heading-title{font-family:var(--body);font-size:18px;font-weight:700}.elementor .fb-faq{border-top:1px solid var(--line)}.elementor .fb-text-link .elementor-button{background:none;color:inherit;font:800 11px/1.6 var(--body);border-radius:0;border:0;border-bottom:1px solid currentColor;padding:6px 0}.elementor .button{font-family:var(--body);font-size:10px;text-transform:uppercase}.elementor .fb-actions{align-items:center;gap:26px}.elementor .fb-actions>.elementor-element{width:auto}.elementor .menu-footnote p,.elementor .stock-note p{font-size:11px}.crew-list .barber-link{display:grid;grid-template-columns:1fr 20px;gap:24px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.crew-list .barber-link strong{display:block;font-size:23px}.crew-list .barber-link small{display:block;font-size:10px;text-transform:uppercase}.service:has(.price){grid-template-columns:1fr auto 20px}.service:not(:has(.price)){grid-template-columns:1fr 20px}.elementor .service-info small{color:inherit;opacity:.8}.service-list{margin:0}.elementor-widget:not(.elementor-element-edit-mode):has(>.elementor-widget-container:empty){display:none}.alignleft{float:left;margin:0 24px 24px 0}.alignright{float:right;margin:0 0 24px 24px}.aligncenter{margin-inline:auto}.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:13px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.screen-reader-text:focus{position:static;width:auto;height:auto;clip-path:none}.sticky{border-top:2px solid var(--red)}.bypostauthor{border-left:2px solid var(--red);padding-left:16px}
@media(max-width:1150px){.nav-items{gap:18px}.elementor .fb-section{padding-inline:32px}.elementor .fb-section>.e-con-inner{gap:40px}.elementor :is(.fb-hero-heading,.fb-hero-accent) .elementor-heading-title{font-size:7.5vw}}
@media(max-width:850px){.main-nav .nav-items{flex-direction:column;align-items:stretch;gap:0}.elementor .fb-section{padding-block:60px}.elementor .fb-section>.e-con-inner{gap:30px}}
@media(max-width:767px){.elementor .fb-section{padding:48px 20px}.elementor .fb-hero>.e-con-inner{gap:30px}.elementor :is(.fb-hero-heading,.fb-hero-accent) .elementor-heading-title{font-size:16.6vw;letter-spacing:-1px}.elementor .fb-section.fb-hero{padding-top:35px;padding-bottom:42px}.elementor .fb-section>.e-con-inner>.e-con{width:100%}.elementor .fb-section .fb-actions{flex-direction:row;flex-wrap:wrap;gap:20px}.elementor .fb-gallery-heading{flex-direction:row}.elementor :is(.fb-page-title,.fb-page-accent) .elementor-heading-title{font-size:15vw}.elementor .fb-visit-title .elementor-heading-title{font-size:17vw}.elementor .fb-section>.e-con-inner{gap:30px}.elementor .fb-location .elementor-heading-title{font-size:21px}.elementor .fb-section.fb-page-heading{padding-bottom:15px}}

.nav-items .current-menu-item>a[href*="#"]{color:inherit;text-decoration:none}

.fb-detail-list{border-top:1px solid var(--ink)}.fb-detail{display:grid;grid-template-columns:1fr 1fr .65fr;gap:45px;padding:40px 0;border-bottom:1px solid var(--line)}.fb-item-title{font:400 38px/1.2 var(--fb-display);margin:0 0 12px}.fb-duration{font-size:10px;letter-spacing:1px;margin:0}.fb-item-copy p{font-size:14px;margin:0 0 16px}.fb-item-copy .fb-specialty{font-size:17px;font-weight:800}.fb-item-action{display:flex;align-items:flex-end;flex-direction:column;gap:22px}.fb-item-action .price{font-size:43px}.fb-item-action .button{padding-inline:18px;gap:15px;white-space:nowrap}.fb-detail-barbers .fb-item-title{text-transform:uppercase;font-size:58px}.fb-detail-barbers{grid-template-columns:.8fr 1.2fr}.fb-detail-barbers .fb-item-action{grid-column:2;align-items:flex-start;margin-top:-30px}.fb-detail-barbers .fb-item-copy{margin-bottom:20px}
@media(max-width:850px){.fb-detail{gap:25px;grid-template-columns:1fr 1fr}.fb-item-action{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.fb-detail-barbers .fb-item-action{margin-top:0}}@media(max-width:620px){.fb-detail{grid-template-columns:1fr;gap:18px;padding:30px 0}.fb-detail-barbers .fb-item-action{grid-column:1;margin-top:0}.fb-item-title{font-size:34px}.fb-detail-barbers .fb-item-title{font-size:52px}.fb-detail-barbers .fb-item-copy{margin-bottom:0}}

.elementor .elementor-heading-title{white-space:pre-line}.elementor .fb-hero-accent .elementor-heading-title,.elementor .fb-page-accent .elementor-heading-title{color:var(--red)}.elementor .fb-headline{gap:0}.elementor .fb-page-heading,.elementor .fb-faq{text-align:left;--text-align:left}

/* Keep functional arrows next to their labels across all booking actions. */
.site-header .header-book,
.elementor .button,
.mobile-book .button {
  justify-content: center;
  gap: 12px;
}
.elementor .fb-directions { margin-bottom: 12px; }

.elementor .fb-location .elementor-heading-title { line-height: 1.45; }

/* Shared header: sticky by default, optional in the Customizer. */
:root { --fb-header-height: 92px; --fb-toolbar-offset: 0px; }
.site-header-shell { position: relative; z-index: 50; background: var(--paper); }
.fb-header-sticky .site-header-shell { position: sticky; top: var(--fb-toolbar-offset); }
html:has(.fb-header-sticky) {
  scroll-padding-top: calc(var(--fb-header-height) + var(--fb-toolbar-offset) + 20px);
}
html:has(body.admin-bar) { --fb-toolbar-offset: 32px; }
@media (max-width: 850px) {
  :root { --fb-header-height: 84px; }
  .fb-header-sticky .main-nav {
    max-height: calc(100dvh - var(--fb-header-height) - var(--fb-toolbar-offset) - 12px);
    overflow-y: auto;
  }
}
@media (max-width: 782px) {
  html:has(body.admin-bar) { --fb-toolbar-offset: 46px; }
}
@media (max-width: 620px) {
  :root { --fb-header-height: 76px; }
}
/* WordPress switches its toolbar to absolute positioning on narrow phones. */
@media (max-width: 600px) {
  html:has(body.admin-bar) { --fb-toolbar-offset: 0px; }
}

/* Hidden by default, including before JavaScript evaluates the scroll range. */
.mobile-book[hidden] { display: none !important; }

/* Mobile disclosure: reversible motion without delaying navigation. */
@media (max-width: 850px) {
  .site-header .main-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
  }
  .site-header .main-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }
  .menu-toggle { position: relative; }
  .menu-toggle :is(.fb-menu-icon, .fb-close-icon) {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    transition: opacity 150ms ease, transform 180ms ease;
  }
  .menu-toggle .fb-close-icon { opacity: 0; transform: rotate(-45deg) scale(.85); }
  .menu-toggle[aria-expanded="true"] .fb-menu-icon { opacity: 0; transform: rotate(45deg) scale(.85); }
  .menu-toggle[aria-expanded="true"] .fb-close-icon { opacity: 1; transform: rotate(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .main-nav,
  .menu-toggle :is(.fb-menu-icon, .fb-close-icon) { transition: none; }
}

/* Independent semantic color roles; individual Elementor styles may override them. */
.button-red, .button-dark:hover, .button-red:hover,
.elementor .fb-visit { background: var(--red); color: var(--on-accent); }
.button-dark, .elementor .fb-shop, .skip-link,
body .gallery-filters button[aria-pressed="true"] { background: var(--dark-surface); color: var(--on-dark); }
body .gallery-filters button[aria-pressed="true"] { border-color: var(--dark-surface); }
::selection { color: var(--on-accent); }
.elementor .fb-visit .fb-hours th, .elementor .fb-visit .fb-hours td {
  border-bottom-color: color-mix(in srgb, var(--on-accent) 35%, transparent);
}
body .gallery-card figcaption small { color: inherit; opacity: .8; }
.wordmark { font-family: var(--fb-logo-font); font-size: var(--fb-logo-size); text-transform: var(--fb-logo-case); line-height: 1.15; overflow-wrap: anywhere; min-width: 0; }
.site-header .wordmark { max-width: 28%; }
.custom-logo-link img { max-width: var(--fb-logo-width); }
.site-footer .custom-logo-link { display: inline-flex; }
@media (max-width: 850px) { .site-header .wordmark { max-width: 48%; } }
@media (max-width: 620px) {
  .wordmark { font-size: var(--fb-logo-size-mobile); }
  .site-header .wordmark, .site-header .custom-logo-link { max-width: calc(100% - 60px); }
}

.button-red:hover { background: color-mix(in srgb, var(--red) 85%, var(--dark-surface)); }
.button-cream:hover { background: color-mix(in srgb, var(--paper) 92%, var(--ink)); }
body .icon-button:hover { background: var(--dark-surface); color: var(--on-dark); }
/* Native nested navigation menus. */
@media(min-width:901px){.nav-items li{position:relative}.nav-items .sub-menu{display:none;position:absolute;top:100%;inset-inline-start:0;min-width:210px;max-width:280px;padding:12px;list-style:none;background:var(--paper);color:var(--ink);border:1px solid var(--line);z-index:40}.nav-items li:hover>.sub-menu,.nav-items li:focus-within>.sub-menu{display:block}.nav-items .sub-menu a{display:block;padding:10px;white-space:normal;overflow-wrap:anywhere}.nav-items .sub-menu .sub-menu{top:0;inset-inline-start:100%}}
@media(max-width:900px){.nav-items .sub-menu{list-style:none;padding:8px 0 8px 20px}.nav-items .sub-menu a{font-size:.8em}}

/* Compact social menu; colors follow the buyer's global palette. */
.footer-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 20px 28px; min-width: 0; }
.footer-social { min-width: 0; max-width: 100%; }
.social-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; list-style: none; padding: 0; margin: 0; }
.social-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; padding: 10px; color: var(--ink); font-size: 12px; font-weight: 700; overflow-wrap: anywhere; transition: color .18s ease; }
.social-link svg { width: 20px; height: 20px; flex: 0 0 20px; fill: currentColor; }
.social-link svg.icon { fill: none; }
.social-link:hover { color: var(--red); }
.social-link:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
@media (max-width: 620px) { .site-footer .footer-top { flex-wrap: wrap; } .footer-actions.has-social { flex-basis: 100%; justify-content: space-between; } }
@media (prefers-reduced-motion: reduce) { .social-link { transition: none; } }
