← back to Robet Site
public/index.html
164 lines
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>ROBERT · Barber</title>
<meta name="description" content="Book a cut with Robert — barber. Pick a time, pick your cut, walk in sharp." />
<link rel="canonical" href="https://robert.agentabrams.com/" />
<meta name="theme-color" content="#0a0a0a" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<link rel="manifest" href="/site.webmanifest" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="ROBERT" />
<meta property="og:title" content="ROBERT · Barber" />
<meta property="og:description" content="Walk in sharp. Pick a time, pick your cut — in and out." />
<meta property="og:url" content="https://robert.agentabrams.com/" />
<meta property="og:image" content="https://robert.agentabrams.com/og.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="ROBERT · Barber" />
<meta name="twitter:description" content="Walk in sharp. Pick a time, pick your cut." />
<meta name="twitter:image" content="https://robert.agentabrams.com/og.png" />
<!-- structured data (data block; not executed → exempt from CSP script-src) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HairSalon",
"name": "Robert",
"url": "https://robert.agentabrams.com/",
"image": "https://robert.agentabrams.com/og.png",
"email": "robert@agentabrams.com",
"description": "Robert — barber. Cuts, fades, beard line-ups and hot-towel shaves. Book a chair online.",
"priceRange": "$$",
"potentialAction": {
"@type": "ScheduleAction",
"name": "Book a cut",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://robert.agentabrams.com/#booking",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform",
"https://schema.org/MobileWebPlatform"
]
}
}
}
</script>
<link rel="stylesheet" href="/styles.css" />
</head>
<body>
<a class="skip" href="#top">Skip to content</a>
<!-- top bar: logo UL · hamburger UR -->
<header class="topbar">
<a class="logo" id="logo" href="#top">ROBERT</a>
<button class="hamburger" id="hamburger" aria-label="Open menu" aria-expanded="false" aria-controls="navpanel" aria-haspopup="dialog">
<span></span><span></span><span></span>
</button>
</header>
<!-- nav overlay -->
<div class="navpanel" id="navpanel" role="dialog" aria-modal="true">
<button class="close" id="navclose" aria-label="Close menu">×</button>
<nav>
<a href="#top">Home</a>
<a href="#work">Services</a>
<a href="#booking">Book</a>
<a href="#gallery">Gallery</a>
<a href="#reviews">Reviews</a>
<a href="#contact">Contact</a>
<a href="/admin">Admin</a>
</nav>
</div>
<main id="top" tabindex="-1">
<!-- HUGE hero -->
<section class="hero" style="padding:0;border-bottom:5px solid #0a0a0a">
<div class="hero-img" id="heroImg"></div>
<div class="hero-inner">
<h1 id="heroHeadline">BOOK
A
CUT.</h1>
<p id="heroSub">Walk in sharp. Pick a time, pick your cut — in and out, no waiting around.</p>
<a class="cta" href="#booking">Book a chair →</a>
</div>
</section>
<!-- work / services -->
<section id="work">
<span class="kicker">/ the work</span>
<h2 class="sec-h">Sharp every time.</h2>
<div class="grid3">
<div class="cell"><h3>Cut</h3><p>Scissor or clipper, tailored to your head — not a template. Wash and style included.</p></div>
<div class="cell"><h3>Fade</h3><p>Skin, low, mid, or high. Clean lines, blended right, no harsh edges.</p></div>
<div class="cell"><h3>Beard & Shave</h3><p>Line-up, trim, or a hot-towel straight-razor shave. Sharp and close.</p></div>
</div>
</section>
<!-- booking: Smart Scheduling (link-first → real live availability) -->
<section id="booking">
<span class="kicker">/ book a chair</span>
<h2 class="sec-h">Pick a time.</h2>
<p class="mono" style="font-size:18px; max-width:560px; margin-bottom:24px; font-weight:600;">
Book your next cut — grab a slot online, or reach out and I'll fit you in.
</p>
<a class="cta" id="bookPrimary" href="#" target="_blank" rel="noopener noreferrer"
style="font-size:28px; padding:20px 40px;">Book your cut →</a>
</section>
<!-- gallery: real photos drop into public/photos -->
<section id="gallery">
<span class="kicker">/ the cuts</span>
<h2 class="sec-h">The work.</h2>
<div class="gallery-grid" id="galleryGrid"></div>
</section>
<!-- reviews (from Booksy) -->
<section id="reviews">
<span class="kicker">/ reviews</span>
<h2 class="sec-h">5.0 on Booksy.</h2>
<div class="reviews-grid" id="reviewsGrid"></div>
<p class="mono" style="margin-top:18px"><a id="reviewsLink" href="#" target="_blank" rel="noopener noreferrer">Read all reviews on Booksy →</a></p>
</section>
<!-- contact -->
<section id="contact">
<span class="kicker">/ contact</span>
<h2 class="sec-h">Talk to me.</h2>
<div class="contact-wrap">
<dl class="contact-info" id="contactInfo"></dl>
<form class="contact-form" id="contactForm">
<input type="text" name="website" id="hp_website" class="hp" tabindex="-1" autocomplete="off" aria-hidden="true" />
<label for="cName">Name</label>
<input id="cName" name="name" autocomplete="name" />
<label for="cEmail">Email *</label>
<input id="cEmail" name="email" type="email" required autocomplete="email" />
<label for="cMsg">Message *</label>
<textarea id="cMsg" name="message" rows="4" required></textarea>
<button type="submit">Send →</button>
<div class="formmsg" id="formMsg" role="status" aria-live="polite" aria-atomic="true"></div>
</form>
</div>
</section>
</main>
<footer>
<span class="mono">© <span id="year"></span> <span id="footBrand">Robert</span></span>
<span class="mono">No cookies. No tracking. No analytics.</span>
<span class="mono">Booking by Smart Scheduling · <a href="/admin">Admin</a></span>
</footer>
<a class="credit" href="https://agentabrams.com" target="_blank" rel="noopener noreferrer">Designed by <b>AgentAbrams</b></a>
<script src="/app.js"></script>
</body>
</html>