*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#000}main{min-height:100vh;min-height:100svh;background:#000 url("logo-solid.png") center center / contain no-repeat}

header{position:absolute;top:0;left:0;z-index:1;width:100%;padding:24px 32px;background:linear-gradient(#000,transparent)}nav{display:flex;align-items:center;gap:12px}nav a,nav button{font:600 16px/1.3 Arial,Helvetica,sans-serif;color:#fff;background:#111;border:1px solid #666;border-radius:4px;padding:12px 20px;text-decoration:none;white-space:nowrap}nav a:hover{background:#292929}nav .book{background:#eee;color:#000;border-color:#eee}nav button[aria-disabled="true"]{cursor:default}nav a:focus-visible,nav button:focus-visible{outline:2px solid #fff;outline-offset:4px}@media(max-width:480px){header{padding:16px}nav{gap:8px}nav a,nav button{font-size:14px;padding:11px 15px}}
/* Compact text navigation */
nav{gap:24px}nav a,nav button,nav .book{font-size:14px;font-weight:500;padding:8px 0;background:transparent;border:0;border-radius:0;color:#fff}nav a:hover{background:transparent;color:#ccc}@media(max-width:480px){nav{gap:20px}nav a,nav button,nav .book{font-size:13px;padding:8px 0}}

nav{width:100%}nav .book{margin-left:auto}

nav .services{margin-left:auto}nav .book{margin-left:0}

html{scroll-behavior:smooth}main{background:none;min-height:0}.hero{min-height:100vh;min-height:100svh;background:#000 url("logo-solid.png") center / contain no-repeat}#services{min-height:100vh;min-height:100svh;padding:64px 32px;background:#000;color:#fff}#services h1{font:500 28px/1.3 Arial,Helvetica,sans-serif;margin:0}@media(max-width:480px){#services{padding:48px 16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.service-menu{max-width:640px;margin:32px 0 0;font:400 18px/1.5 Arial,Helvetica,sans-serif}.service-menu>div{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid #333}.service-menu dd{margin:0;white-space:nowrap}

.service-description{font-size:16px;line-height:1.6;color:#aaa;margin:10px 0 0;max-width:520px}

.shop-hours{padding:48px 32px 64px;border-top:1px solid #333;color:#fff;font-family:Arial,Helvetica,sans-serif}.shop-hours h2{font-size:24px;font-weight:500;margin:0 0 24px}.shop-hours dl{max-width:400px;margin:0;font-size:16px;line-height:1.6}.shop-hours dl>div{display:flex;justify-content:space-between;gap:24px;padding:8px 0}.shop-hours dd{margin:0;white-space:nowrap}@media(max-width:480px){.shop-hours{padding:36px 16px 48px}}

.shop-hours{display:flex;gap:80px;flex-wrap:wrap}.hours-column{width:400px;max-width:100%}.address-column address{font-size:16px;line-height:1.8;font-style:normal}@media(max-width:640px){.shop-hours{gap:36px}.address-column{width:100%}}

.shop-hours{display:grid;grid-template-columns:minmax(280px,400px) minmax(190px,250px) minmax(280px,1fr);gap:40px}.hours-column{width:auto}.map-column iframe{width:100%;height:250px;border:0;display:block}.map-column a{display:inline-block;color:#fff;font-size:14px;margin-top:12px;text-underline-offset:4px}@media(max-width:1050px){.shop-hours{grid-template-columns:1fr 1fr}.map-column{grid-column:1 / -1}.map-column iframe{height:300px}}@media(max-width:640px){.shop-hours{grid-template-columns:1fr;gap:36px}.map-column{grid-column:auto}}
.address-column address{font-size:20px;line-height:1.7}
.shop-hours dl{font-size:20px;line-height:1.7}.shop-hours dl>div{gap:16px}

#gallery{padding:64px 32px;min-height:360px;color:#fff;background:#000;border-top:1px solid #333}#gallery h2{font:500 28px/1.3 Arial,Helvetica,sans-serif;margin:0 0 32px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media(max-width:640px){#gallery{padding:48px 16px}.gallery-grid{grid-template-columns:1fr}}

.gallery-grid img{display:block;width:100%;height:auto}

nav button.book{cursor:pointer}#booking{background:#111;color:#fff;border:1px solid #555;padding:32px;width:min(420px,calc(100% - 32px));font-family:Arial,Helvetica,sans-serif}#booking::backdrop{background:rgba(0,0,0,.8)}#booking h2{font-size:24px;margin:0 30px 24px 0}#booking>a{display:block;color:white;text-decoration:none;border:1px solid #555;padding:16px;margin-top:12px}#booking>a:hover{background:#333}.close-booking{position:absolute;right:16px;top:12px;background:none;border:0;color:white;font-size:30px;cursor:pointer}#booking form{margin:0}

#booking>a.barber-with-photo{display:flex;align-items:center;gap:16px}.barber-avatar{width:56px;height:56px;object-fit:cover;object-position:center 35%;border-radius:50%;flex-shrink:0}

.raizon-avatar{object-position:center 68%}

#booking #barber-list>a,#booking .barber-select{display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none;border:1px solid #555;padding:16px;margin-top:12px;width:100%;background:transparent;font:16px Arial,Helvetica,sans-serif;text-align:left;cursor:pointer}#booking #barber-list>a:hover,#booking .barber-select:hover{background:#333}#booking{max-height:90vh;overflow-y:auto}#booking:has(#jessica-profile:not([hidden])),#booking:has(#raizon-profile:not([hidden])),#booking:has(#reinaldo-profile:not([hidden])){width:min(800px,calc(100% - 32px))}.back-barbers{background:none;border:0;color:#ccc;padding:0;margin-bottom:20px;font:14px Arial;cursor:pointer}.profile-book{display:inline-block;padding:14px 24px;background:#fff;color:#000;text-decoration:none;margin-bottom:24px;font-weight:bold}.barber-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.barber-work img{width:100%;height:auto;display:block}[hidden]{display:none!important}@media(max-width:480px){.barber-work{grid-template-columns:1fr}}

/* Cinematic logo reveal */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#000}
.hero::after{content:"";position:absolute;inset:0;background:url("logo-solid.png") center / contain no-repeat;animation:logo-reveal 1.8s cubic-bezier(.16,1,.3,1) both;pointer-events:none}
.hero::before{content:"";position:absolute;inset:-50%;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 43%,rgba(190,220,255,.04) 46%,rgba(235,246,255,.26) 49%,rgba(255,255,255,.55) 50%,rgba(190,220,255,.12) 52%,transparent 56%);mix-blend-mode:screen;animation:logo-sweep 2.3s .55s ease-in-out both}
@keyframes logo-reveal{0%{opacity:0;transform:scale(.7);filter:blur(14px) brightness(2)}55%{opacity:1;transform:scale(1.035);filter:blur(0) brightness(1.35)}100%{opacity:1;transform:scale(1);filter:blur(0) brightness(1)}}
@keyframes logo-sweep{0%{opacity:0;transform:translateX(-65%)}15%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translateX(65%)}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none}.hero::before{animation:none;display:none}}

.gallery-heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:32px}#gallery .gallery-heading-row h2{margin:0}.instagram-link{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:14px/1.5 Arial,Helvetica,sans-serif}.instagram-link:hover{color:#ccc}.instagram-link:focus-visible{outline:2px solid white;outline-offset:6px}

nav .nav-instagram{display:inline-flex;align-items:center;gap:7px}nav .nav-instagram svg{width:18px;height:18px}@media(max-width:640px){nav{gap:12px}nav .nav-instagram span{display:none}nav .nav-instagram{padding:8px 2px}}

#about{padding:80px 32px;background:#000;color:#fff;border-top:1px solid #333;font:400 18px/1.8 Arial,Helvetica,sans-serif}.about-story{max-width:760px;margin:0 auto}#about h2{font-size:28px;font-weight:500;line-height:1.3;margin:0 0 32px}#about p{margin:0 0 24px;color:#ccc}#about .about-signature{margin:32px 0 0;color:#fff;font-weight:600}.about-signature span{font-size:14px;font-weight:400;color:#aaa}@media(max-width:640px){#about{padding:48px 16px;font-size:16px}}

.barber-name{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.barber-role{font-size:13px;line-height:1.5;color:#aaa;font-weight:400}

.walk-in-note{margin:12px 0 0;text-align:right;color:#bbb;font:400 14px/1.5 Arial,Helvetica,sans-serif}.walk-in-note strong{color:#fff;font-weight:600}@media(max-width:480px){.walk-in-note{font-size:14px;margin-top:10px}}

/* Gallery scroll reveal; photos stay visible when scripts or motion are disabled. */
.gallery-grid img.gallery-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease var(--gallery-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--gallery-delay,0ms)}
.gallery-grid img.gallery-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.gallery-grid img.gallery-reveal{opacity:1;transform:none;transition:none}}

.hero::after{bottom:64px}.hero-location{position:absolute;z-index:2;left:0;right:0;bottom:max(20px,calc((100svh - 64px - 100vw)/2 + 20px));text-align:center;color:#fff;font:600 clamp(20px,3vw,32px)/1.3 Georgia,serif;letter-spacing:.28em;padding-left:.28em;animation:logo-reveal 1.8s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.hero-location{animation:none}}

#google-reviews{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:56px 32px;border-top:1px solid #333;background:#111;color:#fff;font-family:Arial,Helvetica,sans-serif}#google-reviews h2{font-size:28px;font-weight:500;margin:0 0 12px}#google-reviews p{font-size:16px;line-height:1.6;color:#ccc;margin:0}.google-review-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:16px 24px;background:#fff;color:#000;text-decoration:none;font-size:16px;font-weight:600;border:1px solid #fff;border-radius:4px}.google-review-button:hover{background:#ddd}.google-review-button:focus-visible{outline:2px solid #fff;outline-offset:5px}@media(max-width:640px){#google-reviews{align-items:flex-start;flex-direction:column;padding:40px 16px;gap:24px}.google-review-button{max-width:100%}}

.top-review-button{display:flex;width:max-content;margin:16px 0 0 auto;padding:12px 18px;font:600 14px/1.4 Arial,Helvetica,sans-serif;position:relative;z-index:3}@media(max-width:480px){.top-review-button{margin-top:12px;padding:10px 14px}}

.profile-portrait{display:block;width:100%;max-width:320px;height:auto;margin:20px auto}nav{flex-wrap:wrap}#booking:has(#maria-profile:not([hidden])),#booking:has(#bryan-profile:not([hidden])){width:min(800px,calc(100% - 32px))}.hero-location{display:none}

.bryan-booking-link{display:inline-block;margin:12px 0 20px;padding:13px 22px;border:1px solid #fff;border-radius:6px;background:#fff;color:#000;font-weight:700;text-decoration:none}.bryan-booking-link:hover{background:#ddd}.bryan-booking-link:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Silver details and portrait barber cards. */
:root{--silver:#d9dcdf;--muted:#a5a8ac}
nav a,nav button{transition:color .2s ease}nav a:hover,nav button:hover{color:var(--silver)}
nav .book{border:1px solid #777b80;border-radius:999px;padding:9px 19px;background:linear-gradient(135deg,#242629,#101112)}
#services h1,#gallery h2,#about h2,.shop-hours h2{letter-spacing:.035em}
#services h1::after,#gallery h2::after,#about h2::after{content:"";display:block;width:48px;height:2px;margin-top:17px;background:linear-gradient(90deg,#e0e3e6,#53565a)}
.service-menu>div{border-bottom-color:#303337}.service-menu dd{color:var(--silver);font-weight:600}
#booking{width:min(940px,calc(100% - 32px));padding:36px;border:1px solid #62666b;border-radius:20px;background:radial-gradient(ellipse at top left,#232529 0, #111214 48%,#0a0a0b 100%);box-shadow:0 30px 100px #000b;max-height:90dvh}
#booking::backdrop{background:#000d;backdrop-filter:blur(8px)}
#booking h2{font-size:clamp(26px,4vw,36px);letter-spacing:-.035em;margin-bottom:12px;font-weight:600}
.booking-eyebrow{font-size:10px;letter-spacing:.22em;color:var(--muted);margin:0 36px 16px 0}
.booking-intro{margin:0 0 28px;color:#b3b6ba;font-size:14px}
.barber-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.barber-card{min-width:0;border:1px solid #414449;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#202225,#141517);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.barber-card:hover{transform:translateY(-4px);border-color:#969ba1;box-shadow:0 12px 26px #0005}
#booking .barber-select{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;margin:0;border:0;background:transparent;border-radius:0;width:100%;overflow:hidden}
#booking .barber-select:hover{background:transparent}
#booking .barber-avatar{display:block;width:100%;height:auto;aspect-ratio:4/5;border-radius:0;object-fit:cover;object-position:center 35%}
#booking .raizon-avatar{object-position:center 68%}
#booking .barber-name{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 18px 12px;font-size:19px;font-weight:600;min-height:88px}
#booking .barber-role{font-size:12px;color:#b4b7bb;line-height:1.5}
.view-profile{display:flex;justify-content:space-between;gap:8px;margin:0 18px 18px;color:#d3d6da;font-size:12px}
.card-book,.profile-book,.bryan-booking-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;background:linear-gradient(125deg,#f5f6f7,#bec3ca);color:#111;text-decoration:none;font-size:13px;font-weight:700;border:0;border-radius:7px;transition:filter .2s ease}
.card-book{margin:0 12px 12px}.card-book:hover,.profile-book:hover,.bryan-booking-link:hover{filter:brightness(1.1);background:linear-gradient(125deg,#fff,#d9dce0)}
.profile-book,.bryan-booking-link{display:inline-flex;margin:6px 0 24px;min-width:160px}
.barber-select:focus-visible,.card-book:focus-visible,.profile-book:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.barber-work img,.profile-portrait{border-radius:10px}.close-booking{border-radius:50%;width:36px;height:36px;background:#ffffff0a;line-height:1}
@media(max-width:700px){.barber-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#booking{padding:26px 18px}#booking .barber-name{font-size:17px;padding:15px 13px 10px}.view-profile{margin-left:13px;margin-right:13px}.booking-intro{margin-bottom:22px}}
@media(max-width:360px){.barber-card-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.barber-card,nav a,nav button{transition:none}.barber-card:hover{transform:none}}

/* An editorial gallery and an always-within-reach mobile booking action. */
#services,#gallery,#about,.shop-hours{padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:max(24px,calc((100vw - 1240px)/2))}
#services{min-height:0;padding-top:88px;padding-bottom:88px}.service-menu{max-width:860px;width:100%}
#gallery{padding-top:80px;padding-bottom:88px}.section-kicker{font:600 10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.24em;color:#b4b8be;margin:0 0 14px}
.gallery-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}#gallery .gallery-title-row h2{margin:0;font-size:clamp(26px,3.2vw,40px);letter-spacing:-.035em}.gallery-hint{font:13px/1.6 Arial,Helvetica,sans-serif;color:#a9adb3;margin:0 0 2px}
.gallery-grid{gap:18px}.gallery-photo{position:relative;display:block;width:100%;padding:0;border:1px solid #36393d;border-radius:12px;background:#121314;overflow:hidden;cursor:zoom-in;aspect-ratio:3/4}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.gallery-photo:hover img{transform:scale(1.045);filter:brightness(1.07)}.gallery-photo:focus-visible{outline:2px solid white;outline-offset:4px}
.photo-expand{position:absolute;bottom:14px;right:14px;border:1px solid #ffffff40;border-radius:100px;background:#0009;backdrop-filter:blur(8px);padding:8px 12px;font:12px/1.2 Arial,Helvetica,sans-serif;color:white;pointer-events:none}
.photo-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;border:0;padding:20px 28px;background:#090a0bf7;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}.photo-viewer[open]{display:flex;flex-direction:column;gap:12px}.photo-viewer::backdrop{background:#000e;backdrop-filter:blur(12px)}
.viewer-top{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-shrink:0}.viewer-label{font-size:10px;letter-spacing:.2em;color:#b6bbc2}.viewer-close{width:42px;height:42px;font-size:30px;line-height:1}.photo-viewer button{color:white;border:1px solid #53575e;border-radius:50%;background:#ffffff08;cursor:pointer}.photo-viewer button:hover{background:#ffffff20}.photo-viewer button:focus-visible{outline:2px solid white;outline-offset:3px}
.photo-viewer figure{flex:1;min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.viewer-image{display:block;max-width:100%;max-height:calc(100dvh - 180px);width:auto;height:auto;object-fit:contain;border-radius:6px;min-height:0}.viewer-caption{color:#b3b8bf;text-align:center;font-size:12px;line-height:1.5}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:28px;flex-shrink:0}.viewer-controls button{width:42px;height:42px;font-size:20px}.viewer-count{color:#d1d5da;font-size:12px;letter-spacing:.15em;font-variant-numeric:tabular-nums}
.mobile-booking{display:none}
@media(max-width:700px){#services,#gallery,#about,.shop-hours{padding-left:20px;padding-right:20px}#services,#gallery{padding-top:56px;padding-bottom:56px}.gallery-title-row{display:block}.gallery-hint{margin-top:18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-expand{font-size:10px;padding:6px 9px;bottom:9px;right:9px}.photo-viewer{padding:12px 14px}.viewer-label{font-size:9px;letter-spacing:.12em}.mobile-booking{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:18px;z-index:5;bottom:max(12px,env(safe-area-inset-bottom));left:14px;right:14px;width:calc(100% - 28px);padding:13px 14px 13px 18px;border:1px solid #666b73;border-radius:16px;background:linear-gradient(130deg,#24272cf2,#101114f2);backdrop-filter:blur(16px);box-shadow:0 8px 36px #0009;color:#fff;font:600 13px/1.5 Arial,Helvetica,sans-serif;text-align:left;cursor:pointer}.mobile-booking small{display:block;font-size:8px;letter-spacing:.18em;color:#bec2c9;margin-bottom:3px}.mobile-booking-action{padding:11px 15px;border-radius:9px;background:linear-gradient(130deg,#f6f7f8,#bdc3cb);color:#111;font-weight:700;white-space:nowrap}.mobile-booking:focus-visible{outline:2px solid white;outline-offset:3px}.shop-hours{padding-bottom:120px}body:has(dialog[open]) .mobile-booking{display:none}}
@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}.gallery-photo:hover img{transform:none}}
body:has(dialog[open]){overflow:hidden}
