/* Gaotus Barbershop Builder v1.6.0 premium consolidation layer.
   Loaded after frontend.css to prevent legacy cascade collisions. */
/* Consolidated premium homepage layer migrated from earlier incremental builds. */
.gbb-site-mode{background:#f4f0ea}
.gbb-home{padding:24px 0 0}
.gbb-home .gbb-hero{max-width:1320px;margin:0 auto;padding:0 34px;min-height:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:0;align-items:stretch;background:#0f1216;border-radius:34px 34px 0 0;overflow:hidden;box-shadow:0 24px 80px rgba(8,10,12,.14)}
.gbb-home .gbb-hero-copy,.gbb-home .gbb-hero-visual{position:relative}
.gbb-home .gbb-hero-copy{padding:34px 36px 28px;color:#fff;background:linear-gradient(135deg,#0b0e12 0%,#131821 70%,#171d26 100%)}
.gbb-home .gbb-hero-copy .gbb-kicker{color:#c99a50}
.gbb-home .gbb-hero-copy h1{font-size:clamp(34px,4.2vw,64px);max-width:520px;margin:12px 0 18px;color:#fff}
.gbb-home .gbb-hero-copy p{max-width:470px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.72);margin-bottom:22px}
.gbb-home .gbb-actions{gap:12px}
.gbb-home .gbb-button{min-height:44px;padding:0 18px;font-size:12px}
.gbb-home .gbb-button-ghost{border-color:rgba(255,255,255,.2);color:#fff!important}
.gbb-home .gbb-hero-visual{height:100%;min-height:390px;border-radius:0;background:#111;padding:0}
.gbb-home .gbb-hero-collage{inset:0;padding:0;grid-template-columns:1fr;gap:0}
.gbb-home .gbb-hero-image-main{border-radius:0;height:100%}
.gbb-home .gbb-hero-image-main img{height:100%;filter:saturate(.95) contrast(1.03)}
.gbb-home .gbb-hero-image-stack{display:none}
.gbb-home .gbb-hero-visual-premium:before,.gbb-home .gbb-hero-visual-premium:after{display:none}
.gbb-home .gbb-hero-frame{top:auto;left:24px;bottom:22px;background:rgba(8,10,12,.72);border:1px solid rgba(255,255,255,.1)}
.gbb-home .gbb-hero-card{right:24px;bottom:22px;width:220px;padding:18px;border-radius:18px}
.gbb-home .gbb-trust-strip{max-width:1320px;margin:0 auto;padding:0 34px;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:0}
.gbb-home .gbb-trust-strip span{background:#11161d;color:#efe4d3;padding:18px 14px;border-right:1px solid rgba(201,154,80,.15);display:grid;gap:3px}
.gbb-home .gbb-trust-strip span:last-child{border-right:0}
.gbb-home .gbb-trust-strip b{font:700 22px/1 var(--gbb-heading);color:#c99a50}
.gbb-home .gbb-trust-strip small{font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.62);text-transform:none}
.gbb-home .gbb-section{max-width:1320px;margin:0 auto;padding:26px 34px}
.gbb-home .gbb-section-head{margin-bottom:18px}
.gbb-home .gbb-section-head h2{font-size:28px;max-width:none}
.gbb-home .gbb-section .gbb-kicker{font-size:10px}
.gbb-home .gbb-section > .gbb-text-link,.gbb-home .gbb-section-head .gbb-text-link{font-size:12px;font-weight:800}
.gbb-home .gbb-service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.gbb-home .gbb-service-card{border-radius:0;background:#fff4;border:1px solid #e4d7c5;box-shadow:none;overflow:hidden}
.gbb-home .gbb-service-image{height:96px;border-radius:0}
.gbb-home .gbb-service-image span{top:auto;right:auto;left:8px;bottom:8px;padding:5px 8px;font-size:10px}
.gbb-home .gbb-service-card>div{padding:10px 12px}
.gbb-home .gbb-price{font-size:15px;display:block;margin-bottom:3px}
.gbb-home .gbb-service-card h3{font-size:15px;line-height:1.2;margin:0 0 6px}
.gbb-home .gbb-service-card p{display:none}
.gbb-home .gbb-service-card .gbb-text-link{display:flex;justify-content:space-between;border:0;padding:0;font-size:11px;color:var(--gbb-muted)}
.gbb-home .gbb-dark-section{padding:22px 34px;background:#0f1216;color:#fff;max-width:1320px!important;margin:0 auto}
.gbb-home .gbb-dark-section .gbb-section-head{margin-bottom:18px}
.gbb-home .gbb-team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.gbb-home .gbb-team-card{background:#171b22;color:#fff;border:1px solid rgba(201,154,80,.16);border-radius:0;box-shadow:none}
.gbb-home .gbb-team-photo{height:150px}
.gbb-home .gbb-team-photo>span{left:10px;bottom:10px;font-size:10px;padding:5px 8px}
.gbb-home .gbb-team-card>div{padding:12px}
.gbb-home .gbb-team-card small{font-size:10px;color:#c99a50}
.gbb-home .gbb-team-card h3{font-size:16px;color:#fff;margin:4px 0}
.gbb-home .gbb-team-card p{display:none}
.gbb-home .gbb-team-card>div>div{display:flex;justify-content:space-between;align-items:center}
.gbb-home .gbb-team-card .gbb-button-small{min-height:34px;padding:0 12px;font-size:11px}
.gbb-home .gbb-booking-banner.gbb-booking-showcase{display:grid;grid-template-columns:.7fr 1.3fr;align-items:stretch;padding:0;border-radius:0;background:#fff;border:1px solid #eadfce;overflow:hidden}
.gbb-home .gbb-booking-showcase>div:first-child{padding:22px;background:#f7f1e8}
.gbb-home .gbb-booking-showcase h2{font-size:34px;max-width:240px}
.gbb-home .gbb-booking-points{padding-left:16px;margin:14px 0 0;color:var(--gbb-muted);font-size:13px}
.gbb-home .gbb-booking-preview{padding:18px;background:#fff}
.gbb-home .gbb-booking-preview-head{display:grid;grid-template-columns:repeat(8,auto);gap:8px 10px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--gbb-line);font-size:12px}
.gbb-home .gbb-booking-preview-head span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#11161d;color:#fff;font-size:11px;font-weight:800}
.gbb-home .gbb-booking-preview-head strong{font-size:12px}
.gbb-home .gbb-booking-preview-body{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:10px;padding:14px 0}
.gbb-home .gbb-booking-preview-body>div{padding:14px;border:1px solid #eadfce;background:#fbf8f3;display:grid;gap:4px}
.gbb-home .gbb-booking-preview-body small{font-size:10px;color:var(--gbb-muted);text-transform:uppercase;letter-spacing:.08em}
.gbb-home .gbb-booking-preview-body b{font-size:14px}
.gbb-home .gbb-booking-preview-body span{font-size:12px;color:var(--gbb-muted)}
.gbb-home .gbb-location-grid{margin:0;padding:0;gap:12px;grid-template-columns:.6fr 1fr 1fr}
.gbb-home .gbb-location-grid .gbb-location-card:first-child{grid-column:auto}
.gbb-home .gbb-location-card{background:#fff;border-radius:0;grid-template-columns:1fr;border:0;overflow:hidden}
.gbb-home .gbb-location-card>img{min-height:120px;max-height:120px}
.gbb-home .gbb-location-card>div{padding:14px}
.gbb-home .gbb-location-card h2{font-size:18px;margin:6px 0}
.gbb-home .gbb-location-card p{font-size:12px;margin:.2em 0}
.gbb-home .gbb-location-hours{display:grid;gap:5px;font-size:11px;color:var(--gbb-muted);margin:8px 0 12px}
.gbb-home .gbb-location-hours span{display:flex;justify-content:space-between;gap:10px}
.gbb-home .gbb-section.gbb-dark-section .gbb-location-grid:before{content:'Conveniently\A Located. Easily\A Accessible.';white-space:pre-line;display:flex;align-items:flex-end;padding:20px;background:#10141a;color:#fff;font:700 28px/1.04 var(--gbb-heading);border:1px solid rgba(201,154,80,.18)}
.gbb-home .gbb-testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gbb-home .gbb-testimonial-grid blockquote{background:#fff;border-radius:999px;padding:14px 18px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px 14px}
.gbb-home .gbb-testimonial-grid blockquote>div{grid-row:1 / span 2;font-size:12px}
.gbb-home .gbb-testimonial-grid blockquote p{font-size:12px;line-height:1.55;margin:0}
.gbb-home .gbb-testimonial-grid footer strong{font-size:12px}
.gbb-home .gbb-testimonial-grid footer span{font-size:10px}
.gbb-home .gbb-gallery-home{background:#0f1216;max-width:1320px;margin:0 auto;color:#fff}
.gbb-home .gbb-gallery-home .gbb-section-head{padding:0 0 4px}
.gbb-home .gbb-gallery-home .gbb-text-link{color:#fff;border-color:rgba(255,255,255,.2)}
.gbb-home .gbb-gallery-grid{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:110px;gap:8px}
.gbb-home .gbb-gallery-grid figure:nth-child(5n+1){grid-column:span 1;grid-row:span 1}
.gbb-home .gbb-gallery-grid figure{border-radius:0}
.gbb-home .gbb-gallery-grid figcaption{font-size:10px;left:8px;bottom:8px;padding:5px 8px}
.gbb-home .gbb-club-panel{display:grid;grid-template-columns:1fr .9fr;background:#141922;color:#fff;border-radius:0;border:1px solid rgba(201,154,80,.12);padding:0;overflow:hidden}
.gbb-home .gbb-club-panel>div:first-child{padding:24px}
.gbb-home .gbb-club-panel .gbb-button{margin-top:18px}
.gbb-home .gbb-club-media{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.gbb-home .gbb-club-media img{width:100%;height:100%;object-fit:cover;display:block;min-height:220px}
.gbb-home .gbb-site-footer{margin-top:0;padding-top:38px;background:#0b0e12}
@media(max-width:1100px){
 .gbb-home .gbb-hero{grid-template-columns:1fr}
 .gbb-home .gbb-hero-visual{min-height:280px}
 .gbb-home .gbb-trust-strip{grid-template-columns:repeat(2,1fr)}
 .gbb-home .gbb-service-grid{grid-template-columns:repeat(3,1fr)}
 .gbb-home .gbb-team-grid{grid-template-columns:repeat(2,1fr)}
 .gbb-home .gbb-booking-banner.gbb-booking-showcase{grid-template-columns:1fr}
 .gbb-home .gbb-booking-preview-body{grid-template-columns:repeat(2,1fr)}
 .gbb-home .gbb-location-grid{grid-template-columns:1fr 1fr}
 .gbb-home .gbb-section.gbb-dark-section .gbb-location-grid:before{grid-column:1/-1;min-height:140px}
 .gbb-home .gbb-gallery-grid{grid-template-columns:repeat(3,1fr)}
 .gbb-home .gbb-club-panel{grid-template-columns:1fr}
}
@media(max-width:700px){
 .gbb-home{padding-top:12px}
 .gbb-home .gbb-hero,.gbb-home .gbb-trust-strip,.gbb-home .gbb-section,.gbb-home .gbb-dark-section{padding-left:18px;padding-right:18px}
 .gbb-home .gbb-hero-copy{padding:22px}
 .gbb-home .gbb-hero-card,.gbb-home .gbb-hero-frame{position:relative;left:auto;right:auto;bottom:auto;top:auto;margin:12px 22px 0}
 .gbb-home .gbb-service-grid,.gbb-home .gbb-team-grid,.gbb-home .gbb-testimonial-grid,.gbb-home .gbb-booking-preview-body,.gbb-home .gbb-location-grid,.gbb-home .gbb-gallery-grid{grid-template-columns:1fr}
 .gbb-home .gbb-booking-preview-head{grid-template-columns:repeat(4,auto)}
 .gbb-home .gbb-section.gbb-dark-section .gbb-location-grid:before{font-size:22px}
 .gbb-home .gbb-trust-strip{grid-template-columns:1fr 1fr}
 .gbb-home .gbb-service-image{height:160px}
 .gbb-home .gbb-team-photo{height:220px}
}

.gbb-home .gbb-team-promo{display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#10141a,#161b22);padding:20px}
.gbb-home .gbb-team-promo-mark{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(201,154,80,.35);background:rgba(201,154,80,.08);font-size:28px;color:#c99a50;margin:8px auto 16px}
.gbb-home .gbb-team-promo p{display:block;color:rgba(255,255,255,.68);font-size:12px;line-height:1.6}
.gbb-home .gbb-club-perks{margin-top:14px}
.gbb-home .gbb-club-perks span{font-size:12px;padding:10px 12px;border-radius:0}


html { scroll-behavior: smooth; }
body.gbb-site-mode { margin: 0 !important; padding-top: 0 !important; background: #f5f0e8; overflow-x: hidden; }
body.gbb-site-mode.gbb-menu-open { overflow: hidden; }
body.gbb-site-mode .gbb-site { overflow: visible; }
body.gbb-site-mode .gbb-site-main { min-height: 60vh; }

/* Header: remove the double admin-bar gap and make mobile navigation explicit. */
body.gbb-site-mode .gbb-site-header {
    position: sticky;
    top: 0;
    z-index: 9998;
    width: 100%;
    margin: 0;
    background: rgba(13, 17, 21, .98);
    border-bottom: 1px solid rgba(201, 154, 80, .18);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
    backdrop-filter: blur(16px);
}
body.admin-bar.gbb-site-mode .gbb-site-header { top: 32px; margin-top: -32px; }
body.gbb-site-mode .gbb-header-inner {
    position: relative;
    max-width: 1320px;
    min-height: 78px;
    margin: 0 auto;
    padding: 0 28px;
    gap: 26px;
}
body.gbb-site-mode .gbb-brand { min-width: 220px; gap: 11px; color: #fff; }
body.gbb-site-mode .gbb-brand img {
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    object-fit: contain;
    flex: 0 0 44px;
}
body.gbb-site-mode .gbb-brand-mark { width: 44px; height: 44px; flex: 0 0 44px; }
body.gbb-site-mode .gbb-brand strong { color: #fff; font-size: 18px; white-space: nowrap; }
body.gbb-site-mode .gbb-brand small { color: rgba(255,255,255,.55); font-size: 8px; letter-spacing: .14em; white-space: nowrap; }
body.gbb-site-mode .gbb-main-nav,
body.gbb-site-mode .gbb-main-nav ul { gap: 21px; }
body.gbb-site-mode .gbb-main-nav a { color: #fff !important; font-size: 13px; opacity: .94; }
body.gbb-site-mode .gbb-main-nav a:hover,
body.gbb-site-mode .gbb-main-nav a:focus { color: #d4a456 !important; opacity: 1; }
body.gbb-site-mode .gbb-header-book { background: #d2a04e !important; color: #101317 !important; padding: 13px 21px !important; }
body.gbb-site-mode .gbb-menu-toggle { color: #fff; border: 1px solid rgba(255,255,255,.55); border-radius: 8px; }
body.gbb-site-mode .gbb-menu-toggle span { background: #fff; }

/* Shared premium page rhythm. */
body.gbb-site-mode .gbb-page-hero,
body.gbb-site-mode .gbb-rich-band,
body.gbb-site-mode .gbb-page-section,
body.gbb-site-mode .gbb-conversion-panel,
body.gbb-site-mode .gbb-about-story,
body.gbb-site-mode .gbb-values-grid,
body.gbb-site-mode .gbb-contact-main {
    width: min(1320px, calc(100% - 68px));
    margin-left: auto;
    margin-right: auto;
}
body.gbb-site-mode .gbb-page-hero {
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    gap: 64px;
    align-items: center;
    padding: 76px 0 64px;
}
body.gbb-site-mode .gbb-page-hero h1 {
    max-width: 760px;
    margin: 16px 0 24px;
    font: 700 clamp(52px, 6vw, 90px)/.96 var(--gbb-heading);
    letter-spacing: -.055em;
    color: #12171b;
}
body.gbb-site-mode .gbb-page-hero p {
    max-width: 670px;
    margin: 0 0 28px;
    color: #657078;
    font-size: 18px;
    line-height: 1.75;
}
body.gbb-site-mode .gbb-page-hero-media {
    min-height: 520px;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 14px;
}
body.gbb-site-mode .gbb-page-hero-media img {
    width: 100%; height: 100%; object-fit: cover; min-height: 520px;
    border-radius: 28px;
    box-shadow: 0 25px 60px rgba(13,17,21,.14);
}
body.gbb-site-mode .gbb-page-hero-media img:nth-child(2) { min-height: 380px; align-self: end; }
body.gbb-site-mode .gbb-rich-band {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 50px;
    align-items: start;
    padding: 54px;
    background: #11161b;
    color: #fff;
    border-radius: 28px;
}
body.gbb-site-mode .gbb-rich-band h2,
body.gbb-site-mode .gbb-conversion-panel h2,
body.gbb-site-mode .gbb-about-story h2,
body.gbb-site-mode .gbb-contact-main h2 {
    margin: 10px 0 0;
    font: 700 clamp(34px, 4vw, 58px)/1 var(--gbb-heading);
    letter-spacing: -.04em;
}
body.gbb-site-mode .gbb-rich-band > p { color: rgba(255,255,255,.7); font-size: 17px; margin: 8px 0; }
body.gbb-site-mode .gbb-rich-band-points { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
body.gbb-site-mode .gbb-rich-band-points span { display: flex; align-items: center; gap: 12px; padding: 16px; border: 1px solid rgba(255,255,255,.12); }
body.gbb-site-mode .gbb-rich-band-points b { color: #d2a04e; }
body.gbb-site-mode .gbb-page-section { padding: 90px 0; }
body.gbb-site-mode .gbb-conversion-panel {
    margin-top: 10px; margin-bottom: 90px; padding: 45px 50px;
    display: flex; align-items: center; justify-content: space-between; gap: 35px;
    background: linear-gradient(135deg,#d3a14f,#b98231);
    color: #11161b; border-radius: 26px;
}
body.gbb-site-mode .gbb-conversion-panel p { max-width: 660px; }
body.gbb-site-mode .gbb-conversion-panel .gbb-button { background: #11161b; color: #fff !important; border-color: #11161b; }
body.gbb-site-mode .gbb-conversion-panel .gbb-button-ghost { background: transparent; color: #11161b !important; border-color: rgba(17,22,27,.35); }

/* Services and team pages no longer start beneath the header. */
body.gbb-site-mode .gbb-service-grid-page { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.gbb-site-mode .gbb-service-grid-page .gbb-service-image { height: 300px; }
body.gbb-site-mode .gbb-service-grid-page .gbb-service-card > div { padding: 28px; }
body.gbb-site-mode .gbb-service-grid-page .gbb-service-card p { display: block; min-height: 58px; }
body.gbb-site-mode .gbb-team-hero-media { grid-template-columns: 1fr 1fr 1fr; min-height: 520px; }
body.gbb-site-mode .gbb-team-hero-media img { min-height: 520px; border-radius: 24px; }
body.gbb-site-mode .gbb-team-hero-media img:nth-child(2) { transform: translateY(34px); }
body.gbb-site-mode .gbb-team-grid-page { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
body.gbb-site-mode .gbb-team-grid-page .gbb-team-photo { height: 410px; }
body.gbb-site-mode .gbb-team-grid-page .gbb-team-card { background: #fff; color: #15191c; border: 1px solid #e4ddd2; }
body.gbb-site-mode .gbb-team-grid-page .gbb-team-card h3 { color: #15191c; }
body.gbb-site-mode .gbb-team-grid-page .gbb-team-card p { display: block; color: #6b747a; }

/* About page. */
body.gbb-site-mode .gbb-about-collage { min-height: 560px; display: grid; grid-template-columns: 1.35fr .65fr; grid-template-rows: 1fr 1fr; gap: 14px; }
body.gbb-site-mode .gbb-about-collage img { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; }
body.gbb-site-mode .gbb-about-collage img:first-child { grid-row: 1/-1; }
body.gbb-site-mode .gbb-about-story { padding: 70px 0; display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; }
body.gbb-site-mode .gbb-about-story p { color: #657078; font-size: 17px; line-height: 1.8; }
body.gbb-site-mode .gbb-about-story blockquote { margin: 0; padding: 35px 0 35px 38px; border-left: 3px solid #d2a04e; font: 700 clamp(28px,3vw,44px)/1.2 var(--gbb-heading); }
body.gbb-site-mode .gbb-values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding-bottom: 70px; }
body.gbb-site-mode .gbb-values-grid article { padding: 34px; background: #fff; border: 1px solid #e2d9cc; border-radius: 22px; }
body.gbb-site-mode .gbb-values-grid article > span { color: #d2a04e; font-weight: 900; }
body.gbb-site-mode .gbb-values-grid h3 { font: 700 28px/1.1 var(--gbb-heading); margin: 18px 0 12px; }
body.gbb-site-mode .gbb-values-grid p { color: #697278; }

/* Contact page and working form. */
body.gbb-site-mode .gbb-contact-hero-media { min-height: 520px; }
body.gbb-site-mode .gbb-contact-hero-media img { width: 100%; height: 520px; object-fit: cover; border-radius: 28px; }
body.gbb-site-mode .gbb-contact-quick { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 26px; }
body.gbb-site-mode .gbb-contact-quick a { padding: 16px; background: #fff; border: 1px solid #e4dbcf; border-radius: 16px; display: grid; gap: 4px; }
body.gbb-site-mode .gbb-contact-quick small { color: #8a6a37; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
body.gbb-site-mode .gbb-contact-quick strong { overflow-wrap: anywhere; }
body.gbb-site-mode .gbb-contact-main { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 30px 0 90px; align-items: start; }
body.gbb-site-mode .gbb-contact-copy { position: sticky; top: 125px; }
body.gbb-site-mode .gbb-contact-copy p { color: #677178; font-size: 17px; }
body.gbb-site-mode .gbb-contact-copy ul { list-style: none; padding: 0; display: grid; gap: 12px; }
body.gbb-site-mode .gbb-contact-copy li { padding-left: 24px; position: relative; }
body.gbb-site-mode .gbb-contact-copy li:before { content: '✓'; position: absolute; left: 0; color: #c28d3c; font-weight: 900; }
body.gbb-site-mode .gbb-contact-form-card { padding: 36px; background: #fff; border: 1px solid #dfd5c8; border-radius: 24px; box-shadow: 0 22px 60px rgba(16,20,23,.08); }
body.gbb-site-mode .gbb-contact-form { display: grid; gap: 18px; }
body.gbb-site-mode .gbb-contact-form label { display: grid; gap: 7px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
body.gbb-site-mode .gbb-contact-form input,
body.gbb-site-mode .gbb-contact-form select,
body.gbb-site-mode .gbb-contact-form textarea { width: 100%; border: 1px solid #ddd3c6; border-radius: 12px; padding: 14px; background: #fbf8f3; color: #15191c; font: 500 15px/1.4 var(--gbb-body); text-transform: none; letter-spacing: normal; }
body.gbb-site-mode .gbb-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body.gbb-site-mode .gbb-hp { position: absolute !important; left: -9999px !important; }
body.gbb-site-mode .gbb-form-success,
body.gbb-site-mode .gbb-form-error { margin-bottom: 18px; padding: 14px; border-radius: 12px; font-weight: 800; }
body.gbb-site-mode .gbb-form-success { background: #e6f5ea; color: #176c38; }
body.gbb-site-mode .gbb-form-error { background: #fee9e7; color: #9f2d25; }
body.gbb-site-mode .gbb-contact-locations .gbb-location-grid { padding: 0; margin-bottom: 0; }

/* Booking and single content polish. */
body.gbb-site-mode .gbb-booking-shell { padding-top: 70px; padding-bottom: 100px; }
body.gbb-site-mode .gbb-booking-intro { top: 118px; }
body.gbb-site-mode .gbb-booking-intro h1 { font-size: clamp(52px,6vw,82px); }
body.gbb-site-mode .gbb-booking-form { box-shadow: 0 25px 70px rgba(15,20,25,.1); }
body.gbb-site-mode .gbb-single-service,
body.gbb-site-mode .gbb-single-staff,
body.gbb-site-mode .gbb-single-location { padding-top: 78px; padding-bottom: 105px; }
body.gbb-site-mode .gbb-single-media { box-shadow: 0 25px 70px rgba(15,20,25,.14); }

/* Location and gallery media must show actual photos. */
body.gbb-site-mode .gbb-location-card > img,
body.gbb-site-mode .gbb-service-image,
body.gbb-site-mode .gbb-team-photo img { background-color: #171d21; }
body.gbb-site-mode .gbb-location-card > img { object-fit: cover; }

/* Footer. */
body.gbb-site-mode .gbb-site-footer { margin-top: 0; }
body.gbb-site-mode .gbb-site-footer .gbb-brand-footer img { width: 46px !important; height: 46px !important; max-width: 46px !important; }

@media (max-width: 1100px) {
    body.gbb-site-mode .gbb-menu-toggle { display: block; }
    body.gbb-site-mode .gbb-main-nav {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        inset: auto 0 auto 0 !important;
        display: none !important;
        padding: 20px 24px 24px !important;
        background: #10151a !important;
        border: 0 !important;
        border-top: 1px solid rgba(201,154,80,.18) !important;
        box-shadow: 0 24px 45px rgba(0,0,0,.28) !important;
        flex-direction: column !important;
        align-items: stretch !important;
        z-index: 9999 !important;
    }
    body.gbb-site-mode .gbb-main-nav.is-open { display: flex !important; }
    body.gbb-site-mode .gbb-main-nav ul { width: 100%; display: grid !important; gap: 0 !important; }
    body.gbb-site-mode .gbb-main-nav li { width: 100%; }
    body.gbb-site-mode .gbb-main-nav a { display: block !important; width: 100%; padding: 13px 4px !important; color: #fff !important; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 16px; }
    body.gbb-site-mode .gbb-main-nav .gbb-header-book { margin-top: 12px; text-align: center; border-bottom: 0; }
    body.gbb-site-mode .gbb-page-hero,
    body.gbb-site-mode .gbb-contact-main,
    body.gbb-site-mode .gbb-about-story { grid-template-columns: 1fr; }
    body.gbb-site-mode .gbb-page-hero-media { min-height: 400px; }
    body.gbb-site-mode .gbb-team-hero-media { grid-template-columns: repeat(3,1fr); }
    body.gbb-site-mode .gbb-team-grid-page { grid-template-columns: repeat(2,1fr); }
    body.gbb-site-mode .gbb-service-grid-page { grid-template-columns: repeat(2,1fr); }
    body.gbb-site-mode .gbb-contact-copy { position: static; }
}

@media (max-width: 782px) {
    body.admin-bar.gbb-site-mode .gbb-site-header { top: 46px; margin-top: -46px; }
}

@media (max-width: 700px) {
    body.gbb-site-mode .gbb-header-inner { min-height: 72px; padding: 0 16px; }
    body.gbb-site-mode .gbb-brand { min-width: 0; }
    body.gbb-site-mode .gbb-brand strong { font-size: 16px; }
    body.gbb-site-mode .gbb-brand small { display: none; }
    body.gbb-site-mode .gbb-page-hero,
    body.gbb-site-mode .gbb-rich-band,
    body.gbb-site-mode .gbb-page-section,
    body.gbb-site-mode .gbb-conversion-panel,
    body.gbb-site-mode .gbb-about-story,
    body.gbb-site-mode .gbb-values-grid,
    body.gbb-site-mode .gbb-contact-main { width: min(100% - 34px, 1320px); }
    body.gbb-site-mode .gbb-page-hero { padding: 48px 0 42px; gap: 30px; }
    body.gbb-site-mode .gbb-page-hero h1 { font-size: 50px; }
    body.gbb-site-mode .gbb-page-hero p { font-size: 16px; }
    body.gbb-site-mode .gbb-page-hero-media,
    body.gbb-site-mode .gbb-team-hero-media { grid-template-columns: 1fr 1fr; min-height: 300px; }
    body.gbb-site-mode .gbb-page-hero-media img,
    body.gbb-site-mode .gbb-team-hero-media img { min-height: 300px; }
    body.gbb-site-mode .gbb-page-hero-media img:nth-child(2) { min-height: 220px; }
    body.gbb-site-mode .gbb-team-hero-media img:nth-child(3) { display: none; }
    body.gbb-site-mode .gbb-rich-band { grid-template-columns: 1fr; padding: 28px; gap: 20px; }
    body.gbb-site-mode .gbb-rich-band-points,
    body.gbb-site-mode .gbb-values-grid,
    body.gbb-site-mode .gbb-service-grid-page,
    body.gbb-site-mode .gbb-team-grid-page,
    body.gbb-site-mode .gbb-contact-quick,
    body.gbb-site-mode .gbb-form-row { grid-template-columns: 1fr; }
    body.gbb-site-mode .gbb-conversion-panel { align-items: flex-start; flex-direction: column; padding: 30px; }
    body.gbb-site-mode .gbb-contact-form-card { padding: 22px; }
    body.gbb-site-mode .gbb-about-collage { min-height: 400px; }
}

body.gbb-site-mode .gbb-single-highlights { display:grid; gap:10px; margin:26px 0; }
body.gbb-site-mode .gbb-single-highlights span { display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid #ded6cb; }
body.gbb-site-mode .gbb-single-highlights b { color:#c68f3c; }
body.gbb-site-mode .gbb-single-support { width:min(1320px,calc(100% - 68px)); margin:0 auto 85px; padding:48px; border-radius:28px; display:grid; grid-template-columns:1fr 1fr; gap:55px; background:#11161b; color:#fff; }
body.gbb-site-mode .gbb-single-support h2 { margin:10px 0 16px; font:700 clamp(36px,4vw,58px)/1 var(--gbb-heading); letter-spacing:-.04em; }
body.gbb-site-mode .gbb-single-support p { color:rgba(255,255,255,.68); font-size:17px; }
body.gbb-site-mode .gbb-single-support-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; align-self:center; }
body.gbb-site-mode .gbb-single-support-cards article { padding:22px 18px; border:1px solid rgba(255,255,255,.12); display:grid; gap:6px; }
body.gbb-site-mode .gbb-single-support-cards b { color:#d2a04e; font:700 24px/1 var(--gbb-heading); }
body.gbb-site-mode .gbb-single-support-cards span { color:rgba(255,255,255,.62); font-size:12px; }
@media(max-width:900px){body.gbb-site-mode .gbb-single-support{grid-template-columns:1fr}body.gbb-site-mode .gbb-single-support-cards{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){body.gbb-site-mode .gbb-single-support{width:min(100% - 34px,1320px);padding:28px}body.gbb-site-mode .gbb-single-support-cards{grid-template-columns:1fr}}
