/* Universal BarberShop — warm cream, cobalt blue, tomato red. Righteous + Mukta. */
:root {
  --c-primary: #1b3bb8; --c-primary-dark: #142c8c; --c-accent: #e8402f;
  --c-ink: #1a1633; --c-muted: #5a5670; --c-bg: #fff4e4; --c-surface: #fbe8cc;
  --c-dark: #141038; --c-on-dark: #fff4e4; --c-on-primary: #fff; --c-border: #ead6b6;
  --f-head: "Righteous", system-ui, sans-serif; --f-body: "Mukta", system-ui, sans-serif;
  --fw-head: 400; --radius: 22px; --radius-sm: 12px;
}
body { font-size: 1.12rem; }
.btn { border-radius: 14px; font-weight: 800; }
.btn--accent { color: #fff; }
.btn--accent:hover { color: #fff; }
.brand { font-size: 1.3rem; color: var(--c-primary); }
.brand small { font-family: var(--f-body); font-weight: 800; color: var(--c-accent); font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; margin-left: 4px; }
.demo-banner { background: var(--c-primary); color: #fff4e4; }

.ub-hero { text-align: center; padding-top: clamp(40px, 7vw, 80px); background:
  repeating-linear-gradient(135deg, transparent 0 22px, rgba(27,59,184,.05) 22px 44px), var(--c-bg); }
.ub-kicker { display: inline-block; background: var(--c-ink); color: #fff4e4; border-radius: 999px; padding: 4px 16px; font-weight: 600; font-size: .95rem; }
.ub-hero h1 { font-size: clamp(3rem, 10vw, 6.4rem); line-height: .95; color: var(--c-primary); margin: 18px 0; }
.ub-hero h1 span { color: var(--c-accent); }
.ub-lede { max-width: 34em; margin: 0 auto; color: var(--c-muted); font-size: 1.2rem; }
.ub-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 26px 0 40px; }
.ub-strip { display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: 10px; padding: 0 10px; max-width: 1400px; margin: 0 auto; align-items: end; }
.ub-strip img { width: 100%; height: clamp(160px, 26vw, 360px); object-fit: cover; border-radius: 22px 22px 0 0; }
.ub-strip img:nth-child(2) { height: clamp(200px, 32vw, 440px); }
@media (max-width: 640px) { .ub-strip { grid-template-columns: 1fr 1fr; } .ub-strip img:nth-child(3) { display: none; } .ub-strip img, .ub-strip img:nth-child(2) { height: 200px; } }
.ub-stocknote { text-align: right; margin: 0; padding-top: 6px; padding-bottom: 10px; }
.ub-stocknote .photo-note { margin: 0; }

.ub-walk { background: var(--c-primary); color: #fff4e4; padding: clamp(56px, 8vw, 96px) 0; }
.ub-walk a { color: #fff; font-weight: 800; }
.ub-walk-grid { display: grid; gap: 40px; align-items: center; }
@media (min-width: 860px) { .ub-walk-grid { grid-template-columns: auto 1fr; gap: 72px; } }
.ub-mat { margin: 0 auto; width: 260px; text-align: center; }
.ub-mat svg { width: 260px; height: auto; display: block; transform: rotate(-4deg); filter: drop-shadow(0 10px 0 rgba(20,16,56,.45)); }
.ub-mat figcaption { margin-top: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; font-size: .9rem; }
.ub-walk h2 { font-size: clamp(2rem, 5vw, 3.2rem); }
.ub-moves { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 18px; }
@media (min-width: 700px) { .ub-moves { grid-template-columns: repeat(3, 1fr); } }
.ub-moves li { background: #fff4e4; color: #141038; border: 3px solid #141038; border-radius: 22px; padding: 16px 18px 18px; box-shadow: 6px 6px 0 #e8402f; line-height: 1.45; }
.ub-moves li:nth-child(2) { transform: rotate(1.5deg); }
.ub-moves li:nth-child(odd) { transform: rotate(-1.2deg); }
.ub-moves span { display: block; font-family: var(--f-head); font-size: 1.6rem; color: #1b3bb8; margin-bottom: 4px; }

.ub-cuts { padding: clamp(56px, 8vw, 96px) 0; }
.ub-title { font-size: clamp(2rem, 5vw, 3rem); color: var(--c-primary); }
.ub-cuts-grid { display: grid; gap: 16px; }
@media (min-width: 760px) { .ub-cuts-grid { grid-template-columns: 1fr 1.1fr 1fr; align-items: stretch; } }
.ub-cut { background: #fff; border-radius: var(--radius); padding: 26px; border: 2px solid var(--c-ink); box-shadow: 6px 6px 0 var(--c-ink); display: flex; flex-direction: column; justify-content: flex-end; min-height: 240px; margin: 0; }
.ub-cut h3 { font-family: var(--f-head); font-weight: 400; font-size: 1.8rem; color: var(--c-accent); }
.ub-cut-num { font-family: var(--f-head); font-size: 3.2rem; line-height: 1; color: var(--c-primary); opacity: .18; margin: 0 0 auto; }
.ub-cut--photo { padding: 0; overflow: hidden; }
.ub-cut--photo img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
.ub-cuts-call { text-align: center; margin: 32px 0 0; font-weight: 600; }
.ub-cuts-call a { color: var(--c-primary); font-weight: 800; }

.ub-near { background: var(--c-ink); color: #fff4e4; padding: 26px 0; }
.ub-near .container { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.ub-near p { margin: 0; font-family: var(--f-head); font-size: 1.2rem; color: var(--c-accent); }
.ub-near ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.ub-near li { border: 1px solid rgba(255,244,228,.35); border-radius: 999px; padding: 2px 12px; }

.ub-find { padding: clamp(56px, 8vw, 96px) 0; background: var(--c-surface); }
.ub-find-grid { display: grid; gap: 28px; }
@media (min-width: 900px) { .ub-find-grid { grid-template-columns: 1.3fr 1fr; align-items: stretch; } .map-embed iframe { height: 100%; min-height: 420px; } }
.map-embed { border: 2px solid var(--c-ink); }
.ub-ticket { background: #fff; border-radius: var(--radius); padding: 30px; border: 2px solid var(--c-ink); position: relative; }
.ub-ticket h2 { color: var(--c-primary); }
.ub-ticket dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 20px; margin: 0 0 20px; }
.ub-ticket dt { font-weight: 800; color: var(--c-accent); text-transform: uppercase; font-size: .85rem; letter-spacing: .08em; padding-top: 3px; }
.ub-ticket dd { margin: 0; overflow-wrap: anywhere; }
.ub-social { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.ub-social a { background: var(--c-primary); color: #fff; border-radius: 10px; padding: 6px 14px; text-decoration: none; font-weight: 600; }

.ub-contact { padding: clamp(56px, 8vw, 96px) 0; }
.ub-contact-inner { max-width: 720px; text-align: center; }
.ub-form { text-align: left; margin-top: 24px; }
.field input, .field textarea { background: #fff; border: 2px solid var(--c-ink); }

.ub-footer { background: var(--c-accent); color: #fff; text-align: center; padding: 36px 0 28px; }
.ub-footer a { color: #fff; }
.ub-footer-name { font-family: var(--f-head); font-size: 1.8rem; margin: 0 0 6px; }
.ub-small { font-size: .85rem; opacity: .85; margin: 10px 0 0; }
