/* ================================
   AJ CUT HOUSE - PREMIUM LANDING PAGE
================================ */

:root{
  --aj-bg:#5c7091;
  --aj-bg-soft:#6a7ea1;
  --aj-panel:rgba(255,255,255,0.10);
  --aj-panel-2:rgba(255,255,255,0.07);
  --aj-card:#f7f7f9;
  --aj-card-text:#15171c;
  --aj-text:#ffffff;
  --aj-text-soft:rgba(255,255,255,0.82);
  --aj-muted:rgba(255,255,255,0.68);
  --aj-line:rgba(255,255,255,0.16);
  --aj-shadow:0 24px 70px rgba(0,0,0,0.14);
  --aj-radius:30px;
}

html{
  scroll-behavior:smooth;
}

body{
  background:var(--aj-bg) !important;
  color:var(--aj-text) !important;
}

/* ================================
   WORDPRESS / ASTRA CLEANUP
================================ */

.ast-container{
  max-width:100% !important;
  padding:0 !important;
}

.site-content .ast-container,
.entry-content{
  margin:0 !important;
  padding:0 !important;
}

.entry-header,
.ast-single-entry-banner,
.ast-breadcrumbs-wrapper,
h1.entry-title{
  display:none !important;
}

.site-below-footer-wrap{
  display:none !important;
}

/* ================================
   HEADER / NAV
================================ */

.ast-primary-header-bar{
  background:rgba(20,26,38,0.42) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,0.10);
}

.site-title a,
.ast-site-title a{
  color:#ffffff !important;
  font-weight:800;
  letter-spacing:-0.03em;
  font-size:30px;
  display:inline-block;
  line-height:1 !important;
  margin:0 !important;
}

.main-header-menu .menu-link,
.ast-desktop .main-header-menu .menu-link{
  color:rgba(255,255,255,0.92) !important;
  font-weight:600;
  letter-spacing:-0.01em;
  transition:all .22s ease;
}

.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link{
  color:#ffffff !important;
  opacity:1;
}

.main-header-menu .menu-link{
  position:relative;
}

.main-header-menu .menu-link:after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:10px;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,0.9);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}

.main-header-menu .menu-link:hover:after,
.main-header-menu .current-menu-item > .menu-link:after,
.main-header-menu .current_page_item > .menu-link:after{
  transform:scaleX(1);
}

/* desktop-only header alignment */
@media (min-width: 981px){
  .ast-builder-grid-row-container-inner,
  .ast-builder-grid-row{
    max-width:1180px !important;
    margin:0 auto !important;
    padding-left:24px !important;
    padding-right:24px !important;
    width:100% !important;
    box-sizing:border-box;
  }

  .ast-site-title-wrap,
  .site-branding,
  .ast-builder-layout-element{
    display:flex;
    align-items:center;
  }

  .ast-builder-menu-1,
  .main-navigation,
  .main-header-menu{
    display:flex;
    align-items:center;
  }

  .main-header-menu > .menu-item > .menu-link{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .ast-builder-grid-row{
    column-gap:24px !important;
  }
}

/* ================================
   GLOBAL HELPERS
================================ */

.aj-page{
  background:var(--aj-bg);
}

.aj-wrap{
  width:min(1180px, 92%);
  margin:0 auto;
}

.aj-section{
  padding:90px 0;
}

.aj-section-tight{
  padding:42px 0;
}

.aj-section-compact{
  padding:56px 0 !important;
}

.aj-eyebrow{
  font-size:12px;
  letter-spacing:.20em;
  text-transform:uppercase;
  color:var(--aj-muted);
  margin:0 0 10px;
}

.aj-title{
  font-size:clamp(46px, 6vw, 90px);
  line-height:0.97;
  letter-spacing:-0.05em;
  margin:0 0 20px;
  color:#ffffff;
}

.aj-h2{
  font-size:clamp(34px, 4vw, 62px);
  line-height:1.02;
  letter-spacing:-0.04em;
  margin:0 0 12px;
  color:#ffffff;
}

.aj-subtitle{
  font-size:clamp(18px, 2vw, 28px);
  line-height:1.55;
  color:var(--aj-text-soft);
  margin:0;
}

.aj-p{
  font-size:18px;
  line-height:1.75;
  color:var(--aj-text-soft);
  margin:0;
}

.aj-center{
  text-align:center;
}

/* ================================
   BUTTONS
================================ */

.aj-btn-row{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
}

.aj-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 26px;
  border-radius:999px;
  text-decoration:none !important;
  font-weight:700;
  font-size:16px;
  transition:all .24s ease;
}

.aj-btn-primary{
  background:#ffffff;
  color:#1e2a3b !important;
  box-shadow:0 14px 40px rgba(0,0,0,0.14);
}

.aj-btn-primary:hover{
  transform:translateY(-2px);
  background:#f3f6fb;
  box-shadow:0 12px 30px rgba(0,0,0,0.18);
}

.aj-btn-secondary{
  background:transparent;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,0.24);
}

.aj-btn-secondary:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,0.06);
  border-color:rgba(255,255,255,0.45);
  box-shadow:0 12px 30px rgba(0,0,0,0.18);
}

.aj-btn-contrast{
  background:#1e2a3b !important;
  color:#ffffff !important;
  border:1px solid rgba(0,0,0,0.2);
}

.aj-btn-contrast:hover{
  background:#000000 !important;
  color:#ffffff !important;
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

/* ================================
   PANELS / CARDS
================================ */

.aj-glass{
  background:linear-gradient(180deg, rgba(255,255,255,0.11) 0%, rgba(255,255,255,0.07) 100%);
  border:1px solid rgba(255,255,255,0.14);
  box-shadow:var(--aj-shadow);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.aj-card,
.aj-soft-card,
.aj-service-card,
.aj-menu-card,
.aj-review-card{
  position:relative;
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.aj-card:before,
.aj-soft-card:before,
.aj-service-card:before,
.aj-menu-card:before,
.aj-review-card:before{
  content:"";
  position:absolute;
  inset:-120%;
  background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,0.28) 50%, transparent 65%);
  transform:translateX(-120%);
  transition:transform .9s ease;
  pointer-events:none;
}

.aj-card:hover,
.aj-soft-card:hover,
.aj-service-card:hover,
.aj-menu-card:hover,
.aj-review-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(0,0,0,0.16);
}

.aj-card:hover:before,
.aj-soft-card:hover:before,
.aj-service-card:hover:before,
.aj-menu-card:hover:before,
.aj-review-card:hover:before{
  transform:translateX(120%);
}

/* ================================
   HERO
================================ */

.aj-hero{
  padding:42px 0 28px;
  background:var(--aj-bg);
}

.aj-page .aj-hero:first-child{
  padding-top:48px;
}

.aj-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:34px;
  align-items:stretch;
}

.aj-hero-copy{
  border-radius:38px;
  padding:56px;
  min-height:640px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.aj-hero-copy[style*="min-height:auto;"]{
  min-height:auto !important;
}

.aj-hero-media{
  border-radius:38px;
  overflow:hidden;
  min-height:640px;
  box-shadow:var(--aj-shadow);
  background:#4f617d;
}

.aj-hero-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.aj-badge-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}

.aj-badge{
  padding:10px 14px;
  border-radius:999px;
  font-size:14px;
  color:#ffffff;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.16);
}

/* floating card */
.aj-hero-media-has-card{
  position:relative;
}

.aj-image-float-card{
  position:absolute;
  left:28px;
  right:28px;
  bottom:28px;
  background:rgba(255,255,255,0.96);
  border:1px solid rgba(255,255,255,0.75);
  box-shadow:0 18px 45px rgba(0,0,0,0.12);
  border-radius:24px;
  padding:16px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.aj-image-float-copy{
  flex:1;
}

.aj-image-float-label{
  margin:0 0 6px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7b8696;
}

.aj-image-float-card h3{
  margin:0;
  font-size:18px;
  line-height:1.15;
  letter-spacing:-0.03em;
  color:#111111;
}

.aj-image-float-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#111111;
  color:#ffffff !important;
  text-decoration:none !important;
  font-weight:700;
  font-size:14px;
  white-space:nowrap;
  transition:all .22s ease;
}

.aj-image-float-btn:hover{
  transform:translateY(-2px);
  background:#000000;
}

/* ================================
   QUICK INFO STRIP
================================ */

.aj-strip{
  padding:18px 0 0 !important;
}

.aj-strip-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.aj-strip-card{
  border-radius:24px;
  padding:24px;
}

.aj-strip-card h3{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-0.02em;
  color:#ffffff;
}

.aj-strip-card p{
  margin:0;
  color:var(--aj-text-soft);
  line-height:1.6;
}

/* ================================
   ABOUT SPLIT
================================ */

.aj-story-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:34px;
  align-items:center;
}

.aj-story-image{
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--aj-shadow);
}

.aj-story-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.aj-story-copy{
  padding:10px 8px;
}

/* ================================
   MENU SECTION
================================ */

.aj-menu-wrap{
  border-radius:38px;
  padding:54px;
}

.aj-menu-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px !important;
  margin-top:26px;
}

.aj-menu-card{
  background:rgba(255,255,255,0.95);
  border:1px solid rgba(255,255,255,0.45);
  border-radius:28px;
  padding:26px 26px 22px;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.aj-menu-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:10px;
}

.aj-menu-card h3{
  margin:0;
  font-size:24px;
  letter-spacing:-0.03em;
  color:#111111;
}

.aj-menu-price{
  font-weight:800;
  font-size:18px;
  color:#111111;
  white-space:nowrap;
}

.aj-menu-card p{
  margin:0;
  color:#5f6672;
  line-height:1.7;
}

/* ================================
   WHY US
================================ */

.aj-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px !important;
}

.aj-soft-card{
  background:rgba(255,255,255,0.95);
  border:1px solid rgba(255,255,255,0.42);
  border-radius:28px;
  padding:28px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.aj-soft-card h3{
  margin:0 0 10px;
  font-size:24px;
  color:#111111;
  letter-spacing:-0.02em;
}

.aj-soft-card p{
  margin:0;
  color:#5f6672;
  line-height:1.7;
}

/* ================================
   GALLERY
================================ */

.aj-gallery-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px !important;
  margin-top:20px !important;
}

.aj-gallery-large,
.aj-gallery-small-card{
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--aj-shadow);
  transition:transform .28s ease, box-shadow .28s ease;
}

.aj-gallery-large img,
.aj-gallery-small-card img{
  width:100%;
  display:block;
  object-fit:cover;
}

.aj-gallery-large img{
  height:560px;
}

.aj-gallery-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px !important;
}

.aj-gallery-small-card img{
  height:271px;
}

.aj-soft-card img{
  transition:transform .28s ease;
}

.aj-soft-card:hover img,
.aj-gallery-large:hover img,
.aj-gallery-small-card:hover img{
  transform:scale(1.03);
}

.aj-gallery-large:hover,
.aj-gallery-small-card:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 60px rgba(0,0,0,0.16);
}

/* ================================
   REVIEWS
================================ */

.aj-review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px !important;
  margin-top:30px;
}

.aj-review-card{
  background:rgba(255,255,255,0.95);
  border:1px solid rgba(255,255,255,0.42);
  border-radius:28px;
  padding:28px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.aj-review-stars{
  font-size:18px;
  letter-spacing:3px;
  margin-bottom:14px;
  color:#111111;
}

.aj-review-card p{
  margin:0 0 14px;
  color:#5f6672;
  line-height:1.75;
  font-size:17px;
}

.aj-review-card strong{
  color:#111111;
}

/* ================================
   MAP / DIRECTIONS PANEL
================================ */

.aj-map-panel{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:24px;
  padding:28px;
  border-radius:34px;
}

.aj-map-copy{
  padding:18px 8px;
}

.aj-map-hours{
  display:grid;
  gap:10px;
  margin-top:22px;
}

.aj-map-hours div{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,0.12);
  color:var(--aj-text-soft);
}

.aj-map-hours strong{
  color:#ffffff;
  font-weight:700;
}

.aj-map-frame{
  min-height:480px;
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--aj-shadow);
  background:rgba(255,255,255,0.08);
}

.aj-map-frame iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:480px;
  filter:saturate(.95) contrast(1.02);
}

/* ================================
   CTA
================================ */

.aj-cta{
  padding:24px 0 72px !important;
}

.aj-cta-box{
  background:linear-gradient(180deg, rgba(13,16,21,0.96) 0%, rgba(23,27,35,0.96) 100%);
  border-radius:40px;
  padding:56px;
  box-shadow:0 28px 80px rgba(0,0,0,0.18);
}

.aj-cta-box h2{
  color:#ffffff;
  margin:0 0 14px;
  font-size:clamp(34px, 4vw, 60px);
  line-height:1.02;
  letter-spacing:-0.04em;
}

.aj-cta-box p{
  margin:0;
  color:rgba(255,255,255,0.78);
  font-size:19px;
  line-height:1.75;
}

.aj-cta-box .aj-btn-row{
  margin-top:28px;
}

/* ================================
   MOBILE
================================ */

@media (max-width: 980px){

  .aj-hero-grid,
  .aj-story-grid,
  .aj-strip-grid,
  .aj-menu-grid,
  .aj-card-grid,
  .aj-gallery-grid,
  .aj-review-grid,
  .aj-map-panel{
    grid-template-columns:1fr;
  }

  .aj-gallery-side{
    grid-template-rows:auto;
  }

  .aj-hero-copy,
  .aj-hero-media{
    min-height:auto;
  }

  .aj-hero-copy{
    padding:34px 26px;
    border-radius:28px;
  }

  .aj-menu-wrap,
  .aj-cta-box{
    padding:34px 26px;
  }

  .aj-hero-media,
  .aj-story-image,
  .aj-gallery-large,
  .aj-gallery-small-card,
  .aj-menu-card,
  .aj-soft-card,
  .aj-review-card,
  .aj-cta-box,
  .aj-menu-wrap,
  .aj-map-panel,
  .aj-map-frame{
    border-radius:24px;
  }

  .aj-gallery-large img,
  .aj-gallery-small-card img{
    height:auto;
  }

  .aj-title{
    letter-spacing:-0.04em;
  }

  .aj-section{
    padding:64px 0;
  }

  .aj-section-compact{
    padding:42px 0 !important;
  }

  .aj-image-float-card{
    left:16px;
    right:16px;
    bottom:16px;
    padding:16px;
    display:block;
  }

  .aj-image-float-card h3{
    margin:0 0 12px;
  }

  .aj-map-frame,
  .aj-map-frame iframe{
    min-height:340px;
  }

  .aj-map-hours div{
    flex-direction:column;
    gap:4px;
  }

  /* mobile menu */
  .ast-builder-grid-row-container-inner,
  .ast-builder-grid-row{
    max-width:none !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    width:100% !important;
  }

  .ast-mobile-header-wrap,
  .ast-header-break-point .main-header-bar,
  .ast-header-break-point .ast-primary-header-bar{
    background:rgba(20,26,38,0.92) !important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }

  .ast-mobile-header-wrap .site-title a,
  .ast-mobile-header-wrap .ast-site-title a{
    color:#ffffff !important;
    font-size:24px !important;
  }

  .ast-mobile-popup-drawer,
  .ast-header-break-point .main-header-bar-navigation,
  .ast-header-break-point .main-navigation,
  .ast-header-break-point .main-header-menu,
  .ast-header-break-point .ast-builder-menu-mobile,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner{
    background:#4f6383 !important;
  }

  .ast-header-break-point .main-navigation{
    display:block !important;
    width:100% !important;
  }

  .ast-header-break-point .main-header-menu{
    display:block !important;
    width:100% !important;
    padding:14px 0 !important;
  }

  .ast-header-break-point .main-header-menu .menu-item{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .ast-mobile-popup-drawer .menu-item .menu-link,
  .ast-header-break-point .main-header-menu .menu-item .menu-link,
  .ast-header-break-point .main-navigation ul .menu-item .menu-link{
    display:block !important;
    width:100% !important;
    color:#ffffff !important;
    background:transparent !important;
    font-size:20px !important;
    font-weight:600 !important;
    line-height:1.3 !important;
    padding:16px 24px !important;
    border-bottom:1px solid rgba(255,255,255,0.12) !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .ast-mobile-popup-drawer .menu-item .menu-link:hover,
  .ast-mobile-popup-drawer .current-menu-item > .menu-link,
  .ast-mobile-popup-drawer .current_page_item > .menu-link,
  .ast-header-break-point .main-header-menu .menu-item .menu-link:hover{
    color:#ffffff !important;
    background:rgba(255,255,255,0.08) !important;
  }

  .ast-mobile-popup-drawer .menu-toggle-close,
  .ast-mobile-popup-drawer .close-mobile-menu,
  .ast-mobile-popup-drawer .menu-toggle-close:before,
  .ast-mobile-popup-drawer .close-mobile-menu:before{
    color:#ffffff !important;
    opacity:1 !important;
  }

  .ast-mobile-popup-drawer{
    z-index:999999 !important;
  }

  .ast-mobile-header-wrap .menu-toggle-main,
  .ast-mobile-header-wrap .ast-button-wrap .menu-toggle,
  .ast-mobile-popup-drawer .menu-toggle-close{
    color:#ffffff !important;
    border-color:rgba(255,255,255,0.18) !important;
  }

  .main-header-menu .menu-link:after{
    display:none !important;
  }
}

/* ================================
   ABOUT PAGE - STRONGER NEWSPAPER STYLE
================================ */

.aj-about-top{
  padding-bottom:10px !important;
}

.aj-timeline-section{
  padding-top:0 !important;
}

.aj-timeline-section .aj-wrap{
  margin-top:0 !important;
}

.aj-editorial-shell{
  position:relative;
  overflow:hidden;
  border-radius:38px;
  padding:40px;
  background:
    linear-gradient(180deg, rgba(246,240,228,0.98) 0%, rgba(236,228,214,0.98) 100%);
  color:#1f2023;
  box-shadow:0 24px 70px rgba(0,0,0,0.14);
  border:1px solid rgba(95,76,46,0.16);
}

/* stronger paper body */
.aj-editorial-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.34;
  mix-blend-mode:multiply;
  background:
    radial-gradient(circle at 12% 18%, rgba(92,72,42,.16) 0 1px, transparent 1.6px),
    radial-gradient(circle at 68% 42%, rgba(92,72,42,.10) 0 1px, transparent 1.5px),
    radial-gradient(circle at 32% 78%, rgba(92,72,42,.08) 0 1px, transparent 1.3px),
    repeating-linear-gradient(
      90deg,
      rgba(110,90,60,.035) 0px,
      rgba(110,90,60,.035) 1px,
      transparent 1px,
      transparent 4px
    ),
    linear-gradient(180deg, rgba(130,110,80,.10), rgba(130,110,80,.03) 24%, rgba(130,110,80,.12) 100%);
  background-size:
    26px 26px,
    34px 34px,
    20px 20px,
    100% 100%,
    100% 100%;
}

/* edge darkening + print wear */
.aj-editorial-shell::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background:
    radial-gradient(circle at top left, rgba(90,70,40,.14), transparent 28%),
    radial-gradient(circle at top right, rgba(90,70,40,.10), transparent 24%),
    radial-gradient(circle at bottom left, rgba(90,70,40,.08), transparent 24%),
    radial-gradient(circle at bottom right, rgba(90,70,40,.12), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 18%, transparent 82%, rgba(70,50,25,.07));
}

/* keep content above overlays */
.aj-editorial-topline,
.aj-editorial-kicker,
.aj-editorial-title,
.aj-editorial-dek,
.aj-editorial-grid,
.aj-history-grid,
.aj-show-grid{
  position:relative;
  z-index:2;
}

.aj-editorial-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-bottom:14px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(60,50,34,0.16);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#6a5b4a;
}

.aj-editorial-kicker{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#7a6956;
  margin:0 0 14px;
}

.aj-editorial-title{
  font-size:clamp(42px, 5vw, 82px);
  line-height:.96;
  letter-spacing:-0.05em;
  color:#17181b;
  margin:0 0 18px;
}

.aj-editorial-dek{
  font-size:clamp(18px, 2vw, 26px);
  line-height:1.6;
  color:#4e463d;
  margin:0;
  max-width:900px;
}

.aj-editorial-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:26px;
  align-items:start;
  margin-top:34px;
}

.aj-editorial-copy{
  color:#2f2f31;
  animation:ajInkFade .9s ease both;
}

.aj-editorial-copy p{
  margin:0 0 18px;
  font-size:19px;
  line-height:1.9;
  color:#2e2b28;
}

.aj-dropcap:first-letter{
  float:left;
  font-size:72px;
  line-height:.9;
  padding-right:10px;
  padding-top:8px;
  font-weight:800;
  color:#111214;
}

.aj-editorial-pullquote{
  margin:26px 0;
  padding:18px 22px;
  border-left:4px solid #2b3444;
  background:rgba(60,48,32,0.035);
  font-size:24px;
  line-height:1.5;
  letter-spacing:-0.02em;
  color:#1f2023;
  border-radius:0 18px 18px 0;
}

.aj-editorial-side{
  display:grid;
  gap:20px;
  animation:ajInkFade .9s ease both;
  animation-delay:.08s;
}

.aj-clipping-card{
  background:#efe6d8;
  border:1px solid rgba(70,55,35,0.14);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,0.08);
}

.aj-clipping-card img{
  width:100%;
  height:420px;
  display:block;
  object-fit:cover;
  object-position:center top;
  filter:contrast(1.02) saturate(.92);
}

.aj-clipping-card:nth-child(2) img{
  object-position:center center;
  transform:none !important;
  rotate:0deg !important;
  width:100% !important;
  height:auto !important;
  max-height:520px !important;
  object-fit:contain !important;
  display:block !important;
  background:#ede2d2 !important;
}

.aj-clipping-caption{
  padding:14px 16px 16px;
  font-size:14px;
  line-height:1.6;
  color:#5f564d;
  background:rgba(245,238,227,0.94);
  position:relative;
  z-index:2;
}

.aj-mini-head{
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#6d6257;
  margin:0 0 10px;
}

.aj-history-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:20px;
  animation:ajInkFade .9s ease both;
  animation-delay:.12s;
}

.aj-history-card{
  position:relative;
  background:linear-gradient(180deg, rgba(248,244,238,0.98) 0%, rgba(238,231,219,0.98) 100%);
  border:1px solid rgba(70,55,35,0.10);
  border-radius:22px;
  padding:22px;
  color:#18191d;
  box-shadow:0 10px 24px rgba(0,0,0,0.05);
}

.aj-history-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(100,80,50,.025) 0px,
      rgba(100,80,50,.025) 1px,
      transparent 1px,
      transparent 5px
    );
}

.aj-history-year{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#6f655a;
  margin-bottom:10px;
  position:relative;
  z-index:1;
}

.aj-history-card h3{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-0.03em;
  color:#17181b;
  position:relative;
  z-index:1;
}

.aj-history-card p{
  margin:0;
  color:#4f555f;
  line-height:1.7;
  position:relative;
  z-index:1;
}

.aj-show-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
  align-items:center;
  animation:ajInkFade .9s ease both;
  animation-delay:.16s;
}

.aj-show-logo{
  background:rgba(255,255,255,0.92);
  border-radius:28px;
  padding:18px;
  box-shadow:0 18px 40px rgba(0,0,0,0.10);
}

.aj-show-logo img{
  width:100%;
  display:block;
  border-radius:20px;
}

.aj-show-copy p{
  margin:0 0 16px;
}

.aj-paper-note{
  margin-top:18px;
  font-size:14px;
  color:#6a625b;
  letter-spacing:.04em;
}

@keyframes ajInkFade{
  0%{
    opacity:0;
    transform:translateY(14px);
    filter:blur(4px);
  }
  100%{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

/* buttons on light editorial cards */
.aj-editorial-shell .aj-btn-primary{
  background:#1e2a3b !important;
  color:#ffffff !important;
  box-shadow:0 12px 28px rgba(0,0,0,0.14);
}

.aj-editorial-shell .aj-btn-primary:hover{
  background:#111111 !important;
  color:#ffffff !important;
}

.aj-editorial-shell .aj-btn-contrast,
.aj-editorial-shell .aj-btn-secondary{
  background:#c9b08a !important;
  color:#17181b !important;
  border:1px solid rgba(23,24,27,0.10) !important;
  box-shadow:0 10px 24px rgba(0,0,0,0.08);
}

.aj-editorial-shell .aj-btn-contrast:hover,
.aj-editorial-shell .aj-btn-secondary:hover{
  background:#b89563 !important;
  color:#17181b !important;
  border-color:rgba(23,24,27,0.14) !important;
}

/* CTA dark card buttons */
.aj-cta-box .aj-btn-secondary,
.aj-cta-box .aj-btn-contrast{
  background:rgba(255,255,255,0.14) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,0.24) !important;
}

.aj-cta-box .aj-btn-secondary:hover,
.aj-cta-box .aj-btn-contrast:hover{
  background:#c9b08a !important;
  color:#111111 !important;
  border-color:#c9b08a !important;
}

@media (max-width: 980px){
  .aj-editorial-shell{
    padding:26px;
    border-radius:24px;
  }

  .aj-editorial-grid,
  .aj-history-grid,
  .aj-show-grid{
    grid-template-columns:1fr;
  }

  .aj-editorial-title{
    font-size:48px;
  }

  .aj-dropcap:first-letter{
    font-size:56px;
  }

  .aj-clipping-card img{
    height:auto;
    max-height:520px;
    object-fit:contain;
    background:#ede7dc;
  }

  .aj-editorial-shell::before{
    opacity:.24;
  }

  .aj-editorial-shell::after{
    opacity:.16;
  }

  .aj-about-top{
    padding-bottom:6px !important;
  }

  .aj-timeline-section{
    padding-top:0 !important;
  }
}
/* buttons on light editorial cards */
.aj-editorial-shell .aj-btn-primary{
  background:#1e2a3b !important;
  color:#ffffff !important;
  box-shadow:0 12px 28px rgba(0,0,0,0.14);
}

.aj-editorial-shell .aj-btn-primary:hover{
  background:#111111 !important;
  color:#ffffff !important;
}

.aj-editorial-shell .aj-btn-contrast,
.aj-editorial-shell .aj-btn-secondary{
  background:#c9b08a !important;
  color:#17181b !important;
  border:1px solid rgba(23,24,27,0.10) !important;
  box-shadow:0 10px 24px rgba(0,0,0,0.08);
}

.aj-editorial-shell .aj-btn-contrast:hover,
.aj-editorial-shell .aj-btn-secondary:hover{
  background:#b89563 !important;
  color:#17181b !important;
  border-color:rgba(23,24,27,0.14) !important;
}

/* CTA dark card buttons */
.aj-cta-box .aj-btn-secondary,
.aj-cta-box .aj-btn-contrast{
  background:rgba(255,255,255,0.10) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,0.22) !important;
}

.aj-cta-box .aj-btn-secondary:hover,
.aj-cta-box .aj-btn-contrast:hover{
  background:#c9b08a !important;
  color:#111111 !important;
  border-color:#c9b08a !important;
}

@media (max-width: 980px){
  .aj-editorial-shell{
    padding:26px;
    border-radius:24px;
  }

  .aj-editorial-grid,
  .aj-history-grid,
  .aj-show-grid{
    grid-template-columns:1fr;
  }

  .aj-editorial-title{
    font-size:48px;
  }

  .aj-dropcap:first-letter{
    font-size:56px;
  }

  .aj-clipping-card img{
    height:auto;
    max-height:520px;
    object-fit:contain;
    background:#ede7dc;
  }

  .aj-editorial-shell::before{
    opacity:.16;
  }

  .aj-about-top{
    padding-bottom:10px !important;
  }

  .aj-timeline-section{
    padding-top:0 !important;
  }
}/* ================================
   CONTACT PAGE CENTERED CARD
================================ */

.aj-contact-centered{
  text-align:center;
  max-width:700px;
  margin:0 auto;
}

.aj-contact-centered .aj-p{
  margin-bottom:10px;
}

/* center map text vertically nicer */
.aj-map-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* tighten spacing between contact sections */
.aj-section-tight{
  padding:50px 0 !important;
}/* ================================
   CONTACT PAGE TIGHTER HERO
================================ */

.aj-contact-headline{
  max-width:none !important;
  white-space:nowrap;
  font-size:clamp(40px, 5.4vw, 78px) !important;
  margin:0 auto 12px !important;
}

.aj-contact-top{
  padding-bottom:22px !important;
}

.aj-contact-info-section{
  padding-top:10px !important;
}

.aj-contact-centered{
  text-align:center;
  max-width:700px;
  margin:0 auto;
}

.aj-contact-centered .aj-p{
  margin-bottom:10px;
}

.aj-map-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

@media (max-width: 980px){
  .aj-contact-headline{
    white-space:normal;
  }
}/* ================================
   MENU PAGE - PREMIUM PRICE BOARD
================================ */

.aj-menu-page .aj-hero{
  padding-bottom:18px;
}

.aj-menu-hero-shell{
  border-radius:38px;
  padding:44px;
}

.aj-menu-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  align-items:stretch;
}

.aj-menu-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.aj-menu-feature-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:34px;
  background:
    linear-gradient(180deg, rgba(13,16,21,0.96) 0%, rgba(23,27,35,0.96) 100%);
  box-shadow:0 24px 60px rgba(0,0,0,0.18);
  color:#ffffff;
  transition:transform .28s ease, box-shadow .28s ease;
}

.aj-menu-feature-card::before{
  content:"";
  position:absolute;
  inset:-120%;
  background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,0.16) 50%, transparent 65%);
  transform:translateX(-120%);
  transition:transform .95s ease;
  pointer-events:none;
}

.aj-menu-feature-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 70px rgba(0,0,0,0.22);
}

.aj-menu-feature-card:hover::before{
  transform:translateX(120%);
}

.aj-menu-feature-label{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.68);
}

.aj-menu-feature-card h2{
  margin:0 0 10px;
  font-size:42px;
  letter-spacing:-0.04em;
  line-height:1;
  color:#ffffff;
}

.aj-menu-feature-price{
  font-size:68px;
  font-weight:800;
  letter-spacing:-0.05em;
  line-height:.95;
  margin-bottom:14px;
  color:#ffffff;
}

.aj-menu-feature-card p{
  margin:0;
  font-size:18px;
  line-height:1.7;
  color:rgba(255,255,255,.78);
}

.aj-menu-feature-note{
  margin-top:20px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:#c9b08a;
  font-weight:700;
}

.aj-menu-board{
  border-radius:38px;
  padding:48px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 20px 50px rgba(0,0,0,0.10);
}

.aj-menu-board-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:24px;
}

.aj-menu-board-copy{
  margin:0;
  max-width:360px;
  text-align:right;
  color:rgba(255,255,255,.72);
  line-height:1.7;
}

.aj-menu-premium-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.aj-menu-premium-card{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,0.95);
  border:1px solid rgba(255,255,255,0.42);
  border-radius:28px;
  padding:28px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
  transition:transform .28s ease, box-shadow .28s ease;
}

.aj-menu-premium-card::before{
  content:"";
  position:absolute;
  inset:-120%;
  background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,0.32) 50%, transparent 65%);
  transform:translateX(-120%);
  transition:transform .9s ease;
  pointer-events:none;
}

.aj-menu-premium-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(0,0,0,0.12);
}

.aj-menu-premium-card:hover::before{
  transform:translateX(120%);
}

.aj-menu-premium-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}

.aj-menu-premium-card h3{
  margin:0 0 8px;
  font-size:28px;
  letter-spacing:-0.03em;
  color:#111111;
}

.aj-menu-premium-card p{
  margin:0;
  color:#616874;
  line-height:1.75;
  font-size:17px;
  max-width:460px;
}

.aj-menu-premium-price{
  font-size:28px;
  font-weight:800;
  letter-spacing:-0.03em;
  white-space:nowrap;
  color:#111111;
}

.aj-menu-popular{
  background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,246,242,0.98) 100%);
  border:1px solid rgba(201,176,138,0.55);
}

.aj-menu-popular-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:16px;
  background:#c9b08a;
  color:#111111;
}

.aj-menu-value-grid{
  gap:18px !important;
}

.aj-menu-value-card{
  background:rgba(255,255,255,0.94);
}

.aj-menu-value-card h3{
  color:#111111;
}

.aj-menu-value-card p{
  color:#5f6672;
}

@media (max-width: 980px){
  .aj-menu-hero-shell,
  .aj-menu-board{
    padding:28px;
    border-radius:24px;
  }

  .aj-menu-hero-grid,
  .aj-menu-premium-grid,
  .aj-menu-board-head{
    grid-template-columns:1fr;
    display:grid;
  }

  .aj-menu-board-head{
    gap:10px;
  }

  .aj-menu-board-copy{
    max-width:none;
    text-align:left;
  }

  .aj-menu-feature-card{
    border-radius:24px;
    padding:26px;
  }

  .aj-menu-feature-card h2{
    font-size:34px;
  }

  .aj-menu-feature-price{
    font-size:54px;
  }

  .aj-menu-premium-top{
    flex-direction:column;
    gap:12px;
  }

  .aj-menu-premium-price{
    font-size:24px;
  }
}/* ================================
   MENU PAGE - STACKED FEATURE CARDS
================================ */

.aj-menu-feature-stack{
  display:grid;
  grid-template-rows:auto auto;
  gap:18px;
  align-self:stretch;
}

.aj-menu-feature-card-main{
  min-height:unset;
  padding:34px;
}

.aj-menu-feature-card-list{
  padding:28px 30px;
}

.aj-menu-mini-list{
  display:grid;
  gap:14px;
  margin-top:8px;
}

.aj-menu-mini-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,0.10);
}

.aj-menu-mini-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.aj-menu-mini-item span{
  font-size:18px;
  line-height:1.4;
  color:rgba(255,255,255,0.86);
}

.aj-menu-mini-item strong{
  font-size:19px;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#ffffff;
  white-space:nowrap;
}

.aj-menu-mini-note{
  margin:18px 0 0 !important;
  font-size:15px !important;
  line-height:1.7 !important;
  color:rgba(255,255,255,0.64) !important;
}

@media (max-width: 980px){
  .aj-menu-feature-stack{
    grid-template-rows:auto;
  }

  .aj-menu-feature-card-main,
  .aj-menu-feature-card-list{
    padding:26px;
  }

  .aj-menu-mini-item{
    align-items:flex-start;
  }
}/* ================================
   YOUTUBE NAV ICON FIX
================================ */

/* keep menu vertically centered */
.ast-builder-grid-row,
.ast-builder-menu-1,
.main-header-menu{
  align-items:center !important;
}

/* menu item that contains the image */
.main-header-menu > .menu-item img,
.ast-builder-menu-1 .menu-item img{
  display:block;
  width:auto !important;
  height:42px !important;
  max-height:42px !important;
  max-width:120px !important;
  object-fit:contain !important;
  border-radius:10px;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
  transition:transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

/* nicer hover */
.main-header-menu > .menu-item img:hover,
.ast-builder-menu-1 .menu-item img:hover{
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}

/* stop giant menu row height */
.main-header-menu > .menu-item,
.ast-builder-menu-1 .menu-item{
  display:flex;
  align-items:center;
}

/* tighten that icon menu item spacing */
.main-header-menu > .menu-item:last-child,
.ast-builder-menu-1 .menu-item:last-child{
  margin-left:12px !important;
}

/* make the link itself fit the icon */
.main-header-menu > .menu-item:last-child > a,
.ast-builder-menu-1 .menu-item:last-child > a{
  padding:0 !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  min-height:auto !important;
}

/* mobile */
@media (max-width: 980px){
  .main-header-menu > .menu-item img,
  .ast-builder-menu-1 .menu-item img{
    height:34px !important;
    max-height:34px !important;
    max-width:96px !important;
  }
}/* ================================
   YOUTUBE FEATURE PILL IN NAV
================================ */

/* keep header items aligned */
.ast-builder-grid-row,
.ast-builder-menu-1,
.main-header-menu{
  align-items:center !important;
}

.main-header-menu > .menu-item,
.ast-builder-menu-1 .menu-item{
  display:flex;
  align-items:center;
}

/* last item in menu becomes the youtube pill */
.main-header-menu > .menu-item:last-child,
.ast-builder-menu-1 .menu-item:last-child{
  margin-left:18px !important;
}

/* style the link itself like a premium pill */
.main-header-menu > .menu-item:last-child > a,
.ast-builder-menu-1 .menu-item:last-child > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px;
  padding:10px 16px !important;
  min-height:auto !important;
  line-height:1 !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(18,24,34,.96) 0%, rgba(10,14,22,.96) 100%) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease,
    border-color .25s ease,
    opacity .25s ease;
}

/* little red play dot */
.main-header-menu > .menu-item:last-child > a::before,
.ast-builder-menu-1 .menu-item:last-child > a::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:#ff3b30;
  box-shadow:0 0 0 4px rgba(255,59,48,.12);
  flex:0 0 10px;
}

/* hover */
.main-header-menu > .menu-item:last-child > a:hover,
.ast-builder-menu-1 .menu-item:last-child > a:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  border-color:rgba(201,176,138,.50) !important;
  background:linear-gradient(180deg, rgba(24,31,43,.98) 0%, rgba(13,18,27,.98) 100%) !important;
  color:#ffffff !important;
}

/* remove default underline/active bar from the pill */
.main-header-menu > .menu-item:last-child > a::after,
.ast-builder-menu-1 .menu-item:last-child > a::after{
  display:none !important;
}

/* keep spacing from normal menu text */
@media (min-width: 981px){
  .ast-builder-menu-1 .main-header-menu{
    gap:10px;
  }
}

/* mobile */
@media (max-width: 980px){
  .main-header-menu > .menu-item:last-child,
  .ast-builder-menu-1 .menu-item:last-child{
    margin-left:10px !important;
  }

  .main-header-menu > .menu-item:last-child > a,
  .ast-builder-menu-1 .menu-item:last-child > a{
    padding:8px 12px !important;
    font-size:11px !important;
    letter-spacing:.06em;
  }

  .main-header-menu > .menu-item:last-child > a::before,
  .ast-builder-menu-1 .menu-item:last-child > a::before{
    width:8px;
    height:8px;
    flex:0 0 8px;
  }
}/* ================================
   SHOP PAGE - COMING SOON CLEAN
================================ */

.aj-shop-coming-page{
  min-height:70vh;
}

.aj-shop-coming-wrap{
  padding:88px 0 100px !important;
}

.aj-shop-coming-shell{
  display:grid;
  grid-template-columns:96px minmax(0, 1fr) 96px;
  align-items:center;
  gap:30px;
  max-width:1180px;
  margin:0 auto;
}

.aj-shop-coming-card{
  text-align:center;
  padding:68px 56px;
  border-radius:40px;
  position:relative;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.13);
}

.aj-shop-coming-card::before{
  content:"";
  position:absolute;
  inset:-120%;
  background:linear-gradient(120deg, transparent 38%, rgba(255,255,255,.10) 50%, transparent 62%);
  transform:translateX(-120%);
  transition:transform 1.1s ease;
  pointer-events:none;
}

.aj-shop-coming-card:hover::before{
  transform:translateX(120%);
}

.aj-shop-coming-title{
  margin-bottom:10px !important;
}

.aj-shop-coming-subtitle{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

/* ================================
   BARBER POLES - SMOOTHER
================================ */

.aj-barber-pole{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  height:100%;
  min-height:430px;
}

.aj-pole-cap{
  width:60px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(180deg, #eef2f7 0%, #a7b0bd 100%);
  box-shadow:
    inset 0 2px 3px rgba(255,255,255,.72),
    0 8px 16px rgba(0,0,0,.16);
}

.aj-pole-cap-top{
  margin-bottom:10px;
}

.aj-pole-cap-bottom{
  margin-top:10px;
}

.aj-pole-core{
  position:relative;
  width:56px;
  height:372px;
  padding:4px;
  border-radius:999px;
  background:linear-gradient(180deg, #edf1f6 0%, #bcc5d0 100%);
  box-shadow:
    inset 0 2px 4px rgba(255,255,255,.8),
    0 14px 28px rgba(0,0,0,.18);
}

.aj-pole-glass{
  position:relative;
  width:100%;
  height:100%;
  border-radius:999px;
  overflow:hidden;
  background:linear-gradient(90deg, rgba(255,255,255,.22), rgba(255,255,255,.04) 26%, rgba(255,255,255,.04) 74%, rgba(255,255,255,.16));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.20),
    inset 0 0 18px rgba(0,0,0,.12);
}

.aj-pole-stripes{
  position:absolute;
  left:-30%;
  right:-30%;
  top:-120%;
  height:340%;
  border-radius:999px;
  background:
    repeating-linear-gradient(
      -45deg,
      #d92d2d 0 30px,
      #f7f7f7 30px 60px,
      #2551a4 60px 90px,
      #f7f7f7 90px 120px
    );
  background-size:100% 100%;
  animation:ajPoleFlowSmooth 2.4s linear infinite;
  will-change:transform;
}

.aj-pole-glass::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.10) 18%, transparent 38%, transparent 72%, rgba(255,255,255,.18) 100%);
  pointer-events:none;
  z-index:2;
}

.aj-pole-glass::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:16%;
  width:18%;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.03));
  pointer-events:none;
  z-index:2;
}

@keyframes ajPoleFlowSmooth{
  from{ transform:translateY(-8%); }
  to{ transform:translateY(8%); }
}

.aj-barber-pole-left{
  transform:translateY(-4px);
}

.aj-barber-pole-right{
  transform:translateY(4px);
}

.aj-barber-pole-left .aj-pole-stripes{
  animation-duration:2.25s;
}

.aj-barber-pole-right .aj-pole-stripes{
  animation-duration:2.45s;
}

/* ================================
   MOBILE
================================ */

@media (max-width: 980px){
  .aj-shop-coming-wrap{
    padding:56px 0 70px !important;
  }

  .aj-shop-coming-shell{
    grid-template-columns:1fr;
    gap:18px;
  }

  .aj-barber-pole{
    min-height:auto;
    flex-direction:row;
    gap:10px;
  }

  .aj-pole-core{
    width:190px;
    height:42px;
    border-radius:999px;
  }

  .aj-pole-stripes{
    top:-30%;
    left:-120%;
    right:auto;
    width:340%;
    height:160%;
    animation:ajPoleFlowSmoothMobile 2.3s linear infinite;
  }

  @keyframes ajPoleFlowSmoothMobile{
    from{ transform:translateX(-8%); }
    to{ transform:translateX(8%); }
  }

  .aj-shop-coming-card{
    padding:42px 24px;
    border-radius:28px;
  }
}/* ================================
   MOBILE - BEHIND THE CHAIR PILL
================================ */
@media (max-width: 980px){

  /* target the last mobile menu item */
  .ast-header-break-point .main-navigation .main-header-menu > .menu-item:last-child,
  .ast-header-break-point .ast-builder-menu-mobile .main-header-menu > .menu-item:last-child{
    padding: 14px 14px 18px !important;
    border-bottom: 0 !important;
  }

  .ast-header-break-point .main-navigation .main-header-menu > .menu-item:last-child > a,
  .ast-header-break-point .ast-builder-menu-mobile .main-header-menu > .menu-item:last-child > a{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(18,24,34,.96) 0%, rgba(10,14,22,.96) 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    margin: 0 auto !important;
  }

  .ast-header-break-point .main-navigation .main-header-menu > .menu-item:last-child > a::before,
  .ast-header-break-point .ast-builder-menu-mobile .main-header-menu > .menu-item:last-child > a::before{
    content: "" !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: #ff3b30 !important;
    box-shadow: 0 0 0 4px rgba(255,59,48,.12) !important;
    flex: 0 0 10px !important;
  }

  .ast-header-break-point .main-navigation .main-header-menu > .menu-item:last-child > a:hover,
  .ast-header-break-point .ast-builder-menu-mobile .main-header-menu > .menu-item:last-child > a:hover{
    background: linear-gradient(180deg, rgba(24,31,43,.98) 0%, rgba(13,18,27,.98) 100%) !important;
    border-color: rgba(201,176,138,.50) !important;
    color: #ffffff !important;
  }

  /* remove the normal full-width mobile row look */
  .ast-header-break-point .main-navigation .main-header-menu > .menu-item:last-child,
  .ast-header-break-point .ast-builder-menu-mobile .main-header-menu > .menu-item:last-child{
    text-align: center !important;
  }

  .ast-header-break-point .main-navigation .main-header-menu > .menu-item:last-child > a,
  .ast-header-break-point .ast-builder-menu-mobile .main-header-menu > .menu-item:last-child > a{
    border-bottom: 0 !important;
  }
}/* ================================
   SHOP COMING SHORTCODE - MOBILE CLEANUP
================================ */
@media (max-width: 1180px){

  /* hide barber poles on mobile */
  .ajsc-pole{
    display:none !important;
  }

  /* make shell one clean centered block */
  .ajsc-shell{
    grid-template-columns:1fr !important;
    max-width:100% !important;
    gap:0 !important;
  }

  .ajsc-wrap{
    padding:36px 16px 54px !important;
  }

  .ajsc-card{
    padding:42px 22px !important;
    border-radius:28px !important;
  }

  .ajsc-eyebrow{
    font-size:12px !important;
    letter-spacing:.18em !important;
    margin-bottom:12px !important;
  }

  .ajsc-title{
    font-size:clamp(46px, 13vw, 72px) !important;
    line-height:.95 !important;
    margin-bottom:14px !important;
  }

  .ajsc-copy{
    font-size:18px !important;
    line-height:1.55 !important;
    margin:0 auto 24px !important;
    max-width:100% !important;
  }

  .ajsc-buttons{
    gap:12px !important;
    flex-direction:column !important;
    align-items:center !important;
  }

  .ajsc-btn{
    width:100% !important;
    max-width:250px !important;
    min-height:54px !important;
    font-size:17px !important;
  }
}/* ================================
   SEO LANDING PAGES
================================ */

.aj-seo-page{
  position:relative;
}

.aj-seo-hero{
  padding:72px 0 34px !important;
}

.aj-seo-page .aj-wrap{
  max-width:1160px;
}

.aj-seo-hero-inner{
  max-width:980px;
}

.aj-seo-kicker{
  display:inline-block;
  margin-bottom:18px;
  font-size:13px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}

.aj-seo-title{
  margin:0 0 18px;
  font-size:clamp(42px,5.5vw,78px);
  line-height:.97;
  letter-spacing:-.045em;
  color:#fff;
}

.aj-seo-lead{
  max-width:860px;
  margin:0;
  font-size:clamp(21px,2vw,28px);
  line-height:1.62;
  color:rgba(255,255,255,.88);
}

.aj-seo-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:28px;
  align-items:start;
}

.aj-seo-card{
  background:#f3efe8;
  border:1px solid rgba(20,26,34,.06);
  border-radius:34px;
  padding:34px;
  box-shadow:0 22px 60px rgba(0,0,0,.08);
}

.aj-seo-card-dark{
  background:linear-gradient(180deg,#0f1826 0%, #141f31 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
}

.aj-seo-card-dark .aj-h2,
.aj-seo-card-dark .aj-p{
  color:#fff;
}

.aj-seo-card-dark .aj-p{
  color:rgba(255,255,255,.84);
}

.aj-seo-img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
  display:block;
  border-radius:28px;
}

.aj-seo-photo-card{
  overflow:hidden;
  padding:12px;
}

.aj-seo-photo-caption{
  margin-top:14px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(20,26,34,.56);
}

.aj-seo-quote{
  margin:0;
  padding:22px 24px;
  border-left:4px solid #c9b08a;
  background:rgba(255,255,255,.48);
  border-radius:20px;
  font-size:clamp(22px,2.3vw,30px);
  line-height:1.5;
  color:#1b2230;
}

.aj-seo-list{
  margin:18px 0 0;
  padding-left:20px;
}

.aj-seo-list li{
  margin:0 0 12px;
  font-size:18px;
  line-height:1.75;
  color:#2e3746;
}

.aj-seo-service-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}

.aj-seo-service{
  background:rgba(255,255,255,.6);
  border:1px solid rgba(20,26,34,.08);
  border-radius:24px;
  padding:22px 22px 20px;
  transition:transform .25s ease, box-shadow .25s ease;
}

.aj-seo-service:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px rgba(0,0,0,.08);
}

.aj-seo-service-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:10px;
}

.aj-seo-service h3{
  margin:0;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.03em;
  color:#111827;
}

.aj-seo-price{
  white-space:nowrap;
  font-size:28px;
  font-weight:800;
  letter-spacing:-.03em;
  color:#111827;
}

.aj-seo-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.aj-seo-mini-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  text-decoration:none !important;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(20,26,34,.08);
  color:#182130;
  font-size:14px;
  font-weight:700;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.aj-seo-mini-link:hover{
  transform:translateY(-2px);
  background:#fff;
  box-shadow:0 12px 24px rgba(0,0,0,.08);
}

.aj-seo-divider{
  height:1px;
  margin:10px 0 0;
  background:rgba(255,255,255,.12);
}

.aj-seo-cta{
  text-align:center;
  padding:50px 34px;
}

.aj-seo-location-lines{
  margin-top:14px;
}

.aj-seo-location-lines .aj-p{
  margin-bottom:10px;
}

.aj-seo-note{
  opacity:.84;
  font-size:17px;
}

.aj-seo-spacer-tight{
  padding-top:36px !important;
  padding-bottom:36px !important;
}

@media (max-width: 980px){
  .aj-seo-hero{
    padding:54px 0 24px !important;
  }

  .aj-seo-grid{
    grid-template-columns:1fr;
  }

  .aj-seo-card{
    padding:24px;
    border-radius:26px;
  }

  .aj-seo-img{
    min-height:260px;
  }

  .aj-seo-service-grid{
    grid-template-columns:1fr;
  }

  .aj-seo-service h3{
    font-size:26px;
  }

  .aj-seo-price{
    font-size:24px;
  }

  .aj-seo-cta{
    padding:38px 22px;
  }
}/* ================================
   SEO PAGE TEXT COLOR FIX
================================ */

.aj-seo-card,
.aj-seo-card .aj-h2,
.aj-seo-card .aj-p,
.aj-seo-card p,
.aj-seo-card li,
.aj-seo-card blockquote,
.aj-seo-card h3,
.aj-seo-service,
.aj-seo-service h3,
.aj-seo-service .aj-p,
.aj-seo-service p,
.aj-seo-price,
.aj-seo-photo-caption,
.aj-seo-mini-link{
  color:#182130 !important;
}

.aj-seo-card .aj-p,
.aj-seo-card p,
.aj-seo-card li{
  color:#374151 !important;
}

.aj-seo-service .aj-p,
.aj-seo-service p{
  color:#4b5563 !important;
}

.aj-seo-quote{
  color:#182130 !important;
  background:rgba(255,255,255,.72) !important;
}

.aj-seo-photo-caption{
  color:rgba(24,33,48,.62) !important;
}