:root{--white:#fff;--off-white:#f7f5f1;--cream:#efeae0;--line:#d8d3c7;--ink:#1a1a1a;--ink-soft:#3a3a3a;--red:#c8102e;--red-deep:#9a0c22;--navy:#14233a;--pole-blue:#1d3c87;--gold:#b08a3e}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--off-white);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Lora,Georgia,serif;line-height:1.6;overflow-x:hidden}.top-stripe{background:repeating-linear-gradient(90deg, var(--red) 0px, var(--red) 40px, var(--white) 40px, var(--white) 80px, var(--pole-blue) 80px, var(--pole-blue) 120px, var(--white) 120px, var(--white) 160px);border-bottom:2px solid var(--ink);height:14px}.top-banner{background:var(--off-white);color:var(--ink);letter-spacing:.2em;text-transform:uppercase;text-align:center;border-bottom:2px solid var(--ink);padding:.6rem 1rem;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:600}.top-banner span{margin:0 1.2rem}.top-banner .dot{color:var(--red);vertical-align:middle;font-size:.7rem}.status-banner{background:var(--ink);color:var(--white);text-align:center;letter-spacing:.1em;text-transform:uppercase;border-bottom:4px solid var(--red);z-index:10;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;padding:1.2rem 1rem;font-family:Oswald,sans-serif;font-size:1.15rem;font-weight:400;display:flex;position:relative;box-shadow:0 8px 16px #00000026}.status-badge{letter-spacing:.05em;text-shadow:1px 1px #0003;transform-style:preserve-3d;border-radius:3px;margin-right:.3rem;padding:.2rem .8rem;font-family:Alfa Slab One,serif;font-size:1.2rem;animation:1.5s ease-out .4s both flip-sign;display:inline-block}@keyframes flip-sign{0%{opacity:0;transform:perspective(600px)rotateY(-90deg)}30%{opacity:1}60%{transform:perspective(600px)rotateY(12deg)}80%{transform:perspective(600px)rotateY(-4deg)}to{opacity:1;transform:perspective(600px)rotateY(0)}}.status-badge.open{background-color:var(--pole-blue);color:var(--white)}.status-badge.closed{background-color:var(--red);color:var(--white)}.status-sep{color:var(--ink-soft);margin:0 .5rem}.status-banner a.banner-phone{color:var(--white);letter-spacing:.05em;border-bottom:2px solid var(--red);padding-bottom:1px;font-family:Alfa Slab One,serif;text-decoration:none;transition:color .2s}.status-banner a.banner-phone:hover{color:var(--red)}header{text-align:center;background:var(--white);border-bottom:4px solid var(--ink);padding:4.5rem 1.5rem 3.5rem;box-shadow:0 10px 30px #00000008}.est-line{color:var(--red);margin-bottom:.5rem;font-family:Yellowtail,cursive;font-size:1.8rem}.shop-name{letter-spacing:.02em;color:var(--ink);text-transform:uppercase;margin-bottom:.8rem;font-family:Alfa Slab One,serif;font-size:clamp(3rem,8vw,6rem);line-height:.95}.shop-name .ampersand{color:var(--red);letter-spacing:0;text-transform:none;margin:.15em 0;font-family:Yellowtail,cursive;font-size:.45em;font-weight:400;line-height:1;display:block}.shop-sub{letter-spacing:.35em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2.5rem;font-family:Oswald,sans-serif;font-size:clamp(.95rem,2vw,1.2rem);font-weight:500}.header-rule{justify-content:center;align-items:center;gap:1rem;margin:2rem auto;display:flex}.header-rule .line{background:var(--ink);width:60px;height:2px}.header-rule .star{color:var(--red);font-size:1.2rem}.pole-stage{justify-content:center;align-items:center;margin:3rem 0 1rem;display:flex}.barber-pole{filter:drop-shadow(8px 12px 20px #00000040);flex-direction:column;align-items:center;display:flex;position:relative}.pole-globe{z-index:6;background:radial-gradient(circle at 32% 25%,#fffffff2 0%,#fff9 20%,#0000 40%),radial-gradient(circle at 70% 80%,#b4b4b44d 0%,#0000 35%),radial-gradient(circle,#f8f8f8 0%,#e6e6e6 60%,#b8b8b8 95%);border-radius:50%;width:54px;height:54px;margin-bottom:-8px;position:relative;box-shadow:inset -6px -8px 14px #50505059,inset 4px 4px 8px #fff9}.brass{z-index:4;background:linear-gradient(#3a2a10 0%,#6e5320 10%,#b08a3e 28%,#e6c878 45%,#f5e0a0 52%,#d8b863 60%,#a07c30 78%,#6e5320 92%,#2e2008 100%);border-left:1px solid #2e2008;border-right:1px solid #2e2008;position:relative;box-shadow:inset 6px 0 10px #00000059,inset -6px 0 10px #00000059}.cap-top{z-index:5;flex-direction:column;align-items:center;margin-bottom:-2px;display:flex;position:relative}.cap-bottom{z-index:5;flex-direction:column;align-items:center;margin-top:-2px;display:flex;position:relative}.cap-cup{border-radius:50% 50% 4px 4px/60% 60% 4px 4px;width:36px;height:10px}.cap-flange-upper{border-top:1px solid #2e2008;border-bottom:1px solid #2e2008;border-radius:3px 3px 2px 2px;width:110px;height:18px}.cap-neck{width:96px;height:7px}.cap-flange-lower{border-top:1px solid #2e2008;border-bottom:1px solid #2e2008;border-radius:2px 2px 4px 4px;width:116px;height:22px}.cap-flange-upper:after,.cap-flange-lower:after{content:"";pointer-events:none;background:#281c0880;height:1px;position:absolute;top:50%;left:4%;right:4%;box-shadow:0 1px #ffe6a066}.pole-cylinder{z-index:3;background:#fff;border-left:2px solid #2e2008;border-right:2px solid #2e2008;width:92px;height:308px;position:relative;overflow:hidden;box-shadow:inset 0 0 8px #0000004d}.pole-stripes{will-change:transform;width:100%;height:720px;animation:3.4s linear infinite pole-spin;display:block;position:absolute;top:-80px;left:0;overflow:visible}@keyframes pole-spin{0%{transform:translateY(0)}to{transform:translateY(-176px)}}.pole-cylinder:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#0006 0%,#0000000d 18%,#ffffff59 36%,#ffffff1a 58%,#0000001f 78%,#00000073 100%);position:absolute;inset:0}.pole-cylinder:after{content:"";pointer-events:none;z-index:3;filter:blur(1px);background:linear-gradient(#ffffffbf,#fff3);border-radius:50%;width:5px;height:100%;position:absolute;top:0;left:22%}.pole-bulb{z-index:4;background:radial-gradient(at 35% 25%,#f5e0a0 0%,#e6c878 15%,#b08a3e 40%,#6e5320 75%,#2e2008 100%);border-top:none;border-radius:0 0 50% 50%/0 0 100% 100%;width:56px;height:38px;margin-top:-2px;box-shadow:inset -4px -4px 10px #0006}section{max-width:1000px;margin:0 auto;padding:5rem 1.5rem;position:relative}.section-title{text-align:center;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin-bottom:.5rem;font-family:Alfa Slab One,serif;font-size:clamp(2rem,5vw,3rem)}.section-sub{text-align:center;color:var(--red);letter-spacing:.3em;text-transform:uppercase;margin-bottom:3.5rem;font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:500}.about-text{text-align:center;max-width:720px;color:var(--ink-soft);margin:0 auto;font-size:1.2rem;line-height:1.85}.about-text p+p{margin-top:1.5rem}.services{background:var(--white);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.menu{border:3px solid var(--ink);background:var(--off-white);max-width:560px;margin:0 auto;padding:3rem 2.5rem;box-shadow:6px 6px #0000000d}.menu-item{align-items:baseline;gap:.8rem;padding:1rem 0;display:flex}.menu-name{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-family:Oswald,sans-serif;font-size:1.15rem;font-weight:600}.menu-name .desc{text-transform:none;letter-spacing:0;color:var(--ink-soft);margin-top:.3rem;font-family:Lora,serif;font-size:.95rem;font-style:italic;font-weight:400;display:block}.menu-dots{border-bottom:3px dotted var(--line);flex:1;margin:0 .5rem;transform:translateY(-4px)}.menu-price{color:var(--red);letter-spacing:.02em;font-family:Alfa Slab One,serif;font-size:1.4rem}.military{background:var(--navy);text-align:center;color:var(--white);padding:6rem 1.5rem;position:relative}.military:before,.military:after{content:"";background:repeating-linear-gradient(90deg, var(--red) 0px, var(--red) 40px, var(--white) 40px, var(--white) 80px, var(--pole-blue) 80px, var(--pole-blue) 120px, var(--white) 120px, var(--white) 160px);height:12px;position:absolute;left:0;right:0}.military:before{top:0}.military:after{bottom:0}.military-card{background:var(--white);max-width:740px;color:var(--ink);border:4px solid var(--ink);box-shadow:0 0 0 8px var(--white), 0 0 0 12px var(--ink);margin:0 auto;padding:3.5rem 2.5rem}.military-stars{color:var(--navy);letter-spacing:.8em;margin-bottom:1.2rem;font-size:1.4rem}.military-headline{text-transform:uppercase;letter-spacing:.02em;color:var(--navy);margin-bottom:.5rem;font-family:Alfa Slab One,serif;font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.1}.military-percent{color:var(--red);text-shadow:3px 3px #c8102e26;margin:1.2rem 0 .8rem;font-family:Alfa Slab One,serif;font-size:clamp(4rem,10vw,6rem);line-height:1;display:block}.military-percent-sub{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.5rem;font-family:Oswald,sans-serif;font-size:1rem;font-weight:600}.military-body{color:var(--ink-soft);max-width:540px;margin:0 auto;font-family:Lora,serif;font-size:1.15rem;line-height:1.7}.visit{grid-template-columns:1fr;gap:3rem;max-width:900px;margin:0 auto;display:grid}@media (width>=768px){.visit{grid-template-columns:1fr 1fr}}.visit-block{text-align:center;border:3px solid var(--ink);background:var(--white);padding:3rem 2rem;box-shadow:6px 6px #0000000d}.visit-block h3{letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin-bottom:1.5rem;padding-bottom:.8rem;font-family:Alfa Slab One,serif;font-size:1.6rem;position:relative}.visit-block h3:after{content:"";background:var(--red);width:60px;height:3px;margin:.5rem auto 0;display:block}.hours-list{font-family:Lora,serif;font-size:1.1rem;list-style:none}.hours-list li{border-bottom:1px dotted var(--line);justify-content:space-between;padding:.6rem .5rem;display:flex}.hours-list li:last-child{border-bottom:none}.hours-list .day{text-transform:uppercase;letter-spacing:.1em;font-family:Oswald,sans-serif;font-size:1rem;font-weight:600}.hours-list .closed{color:var(--red);font-style:italic}.address{color:var(--ink-soft);font-family:Lora,serif;font-size:1.15rem;line-height:1.8}.address strong{text-transform:uppercase;letter-spacing:.1em;color:var(--ink);margin-bottom:.6rem;font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:600;display:block}.location-hint{color:var(--ink-soft);border-top:1px dotted var(--line);margin-top:1rem;padding-top:1rem;font-size:1rem;font-style:italic;display:block}.phone{color:var(--red);letter-spacing:.04em;border-bottom:3px solid var(--red);margin-top:1.5rem;padding-bottom:2px;font-family:Alfa Slab One,serif;font-size:1.6rem;text-decoration:none;display:inline-block}.gallery-wrap{background:var(--cream);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.upload-panel{border:3px solid var(--ink);background:var(--off-white);text-align:center;max-width:760px;margin:0 auto 3rem;padding:2rem 2rem 2.2rem;box-shadow:6px 6px #0000000d}.upload-panel form{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;display:flex}.upload-panel input[type=password]{border:2px solid var(--ink);background:var(--white);min-width:220px;padding:.7rem .9rem;font-family:Lora,serif;font-size:1rem}.btn{text-transform:uppercase;letter-spacing:.1em;color:var(--white);background:var(--ink);border:2px solid var(--ink);cursor:pointer;padding:.7rem 1.4rem;font-family:Oswald,sans-serif;font-size:.95rem;font-weight:600;transition:background .2s,color .2s}.btn:hover{background:var(--red);border-color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.file-btn{background:var(--pole-blue);border-color:var(--pole-blue);display:inline-block}.btn.file-btn:hover{background:var(--red);border-color:var(--red)}.upload-hint{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:1rem;font-family:Oswald,sans-serif;font-size:.8rem}.upload-status{color:var(--red-deep);min-height:1.2em;margin-top:.8rem;font-family:Lora,serif;font-style:italic}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;max-width:900px;margin:0 auto;display:grid}.gallery-grid img{aspect-ratio:1;object-fit:cover;border:2px solid var(--ink);background:var(--white);width:100%;display:block}.gallery-empty{text-align:center;color:var(--ink-soft);font-family:Lora,serif;font-style:italic}footer{background:var(--ink);color:var(--off-white);text-align:center;padding:3.5rem 1.5rem 3rem}.footer-name{letter-spacing:.02em;text-transform:uppercase;margin-bottom:.5rem;font-family:Alfa Slab One,serif;font-size:1.8rem}.footer-tag{color:var(--red);margin-bottom:1.2rem;font-family:Yellowtail,cursive;font-size:1.6rem}.footer-rule{background:var(--red);width:60px;height:2px;margin:1.5rem auto}.footer-fine{letter-spacing:.25em;text-transform:uppercase;color:var(--line);margin-top:1rem;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:400}.bottom-stripe{background:repeating-linear-gradient(90deg, var(--red) 0px, var(--red) 40px, var(--white) 40px, var(--white) 80px, var(--pole-blue) 80px, var(--pole-blue) 120px, var(--white) 120px, var(--white) 160px);height:14px}@media (width<=600px){section{padding:3.5rem 1.2rem}.menu{padding:2rem 1.2rem}.menu-item{flex-wrap:wrap}.menu-dots{display:none}.menu-price{text-align:right;width:100%;margin-left:auto;padding-top:.5rem}.military-card{box-shadow:0 0 0 5px var(--white), 0 0 0 8px var(--ink);padding:2.5rem 1.5rem}.top-banner span{margin:0 .5rem}.top-banner{font-size:.75rem}.status-banner{flex-direction:column;gap:.45rem}.status-banner .status-sep{display:none}.upload-panel input[type=password]{width:100%;min-width:0}.upload-panel form .btn{width:100%}}.work-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;max-width:1000px;margin:0 auto;display:grid}.work-tile{aspect-ratio:1;border:2px solid var(--ink);background:var(--ink);cursor:pointer;padding:0;display:block;position:relative;overflow:hidden}.work-tile img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s;display:block}.work-tile:after{content:"";pointer-events:none;transition:box-shadow .3s;position:absolute;inset:0;box-shadow:inset 0 0 #c8102e00}.work-tile:hover img,.work-tile:focus-visible img{filter:brightness(.9);transform:scale(1.06)}.work-tile:hover:after,.work-tile:focus-visible:after{box-shadow:inset 0 0 0 3px var(--red)}.work-add{text-align:center;margin-top:2.5rem}.work-add-btn{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);cursor:pointer;border-bottom:1px solid var(--line);padding-bottom:3px;font-family:Oswald,sans-serif;font-size:.78rem;font-weight:600;transition:color .2s,border-color .2s;display:inline-block}.work-add-btn:hover{color:var(--red);border-color:var(--red)}.work-note{color:var(--ink-soft);margin-top:.9rem;font-family:Lora,serif;font-size:.95rem;font-style:italic;display:block}.lightbox{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0c0cf2;justify-content:center;align-items:center;padding:clamp(1rem,4vw,3rem);animation:.25s both lb-fade;display:flex;position:fixed;inset:0}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lb-img{object-fit:contain;cursor:default;max-width:min(94vw,1100px);max-height:86vh;animation:.3s cubic-bezier(.2,.8,.2,1) both lb-zoom;box-shadow:0 30px 80px #0009}@keyframes lb-zoom{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lb-close,.lb-nav{color:#ffffffd9;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;line-height:1;transition:color .2s,transform .2s;position:absolute}.lb-close:hover{color:#fff}.lb-nav:hover{color:var(--red)}.lb-close{font-size:2.4rem;top:1.2rem;right:1.5rem}.lb-nav{padding:0 1rem;font-size:3.4rem;top:50%;transform:translateY(-50%)}.lb-prev{left:.4rem}.lb-next{right:.4rem}.lb-count{letter-spacing:.3em;color:#ffffffb3;font-family:Oswald,sans-serif;font-size:.8rem;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}@media (width<=600px){.work-grid{grid-template-columns:repeat(2,1fr);gap:8px}.lb-nav{padding:0 .4rem;font-size:2.6rem}.lb-close{font-size:2rem;top:.8rem;right:1rem}}.about{grid-template-columns:1fr;align-items:center;gap:2.5rem;max-width:900px;margin:0 auto;display:grid}.about-photo img{border:3px solid var(--ink);filter:grayscale()contrast(1.02);width:100%;display:block;box-shadow:8px 8px #0000000f}@media (width>=820px){.about{grid-template-columns:5fr 6fr;gap:3.5rem}.about .about-text{text-align:left;max-width:none;margin:0}}.show{max-width:860px;margin:0 auto}.show-stage{aspect-ratio:4/3;background:var(--ink);border:3px solid var(--ink);cursor:pointer;position:relative;overflow:hidden;box-shadow:6px 6px #0000000d}.show-img{object-fit:contain;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .7s;position:absolute;inset:0}.show-img.is-active{opacity:1}.show-nav{z-index:2;color:#fff;cursor:pointer;background:#00000052;border:none;justify-content:center;align-items:center;width:46px;height:46px;font-size:2rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.show-nav:hover{background:var(--red)}.show-prev{left:.6rem}.show-next{right:.6rem}.show-count{z-index:2;letter-spacing:.2em;color:#ffffffe6;background:#00000059;padding:.2rem .6rem;font-family:Oswald,sans-serif;font-size:.78rem;position:absolute;bottom:.7rem;right:.9rem}.show-dots{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:1.3rem;display:flex}.show-dot{cursor:pointer;background:var(--line);border:none;border-radius:50%;width:9px;height:9px;padding:0;transition:background .2s,transform .2s}.show-dot:hover{background:var(--ink-soft)}.show-dot.is-active{background:var(--red);transform:scale(1.25)}@media (width<=600px){.show-stage{aspect-ratio:3/4}.show-nav{width:40px;height:40px;font-size:1.7rem}}.visit-extra{text-align:center;margin-top:3.5rem}.loc-map{border:3px solid var(--ink);width:100%;max-width:440px;height:auto;margin:0 auto;display:block;box-shadow:6px 6px #0000000d}.lm-road{fill:#fff;letter-spacing:2px;font-family:Oswald,sans-serif;font-size:13px;font-weight:600}.lm-store{fill:var(--ink);letter-spacing:1px;font-family:Oswald,sans-serif;font-size:15px;font-weight:600}.lm-here{fill:var(--red);letter-spacing:1.5px;font-family:Oswald,sans-serif;font-size:12px;font-weight:700}.lm-n{fill:var(--ink);font-family:Oswald,sans-serif;font-size:13px;font-weight:700}.directions-btn{text-transform:uppercase;letter-spacing:.12em;color:#fff;background:var(--red);border:3px solid var(--ink);margin-top:1.8rem;padding:.85rem 2rem;font-family:Oswald,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,background .2s;display:inline-block;box-shadow:5px 5px #0000001f}.directions-btn:hover{background:var(--red-deep);transform:translate(-2px,-2px);box-shadow:7px 7px #00000026}.directions-btn:active{transform:translate(2px,2px);box-shadow:2px 2px #00000026}.menu-note{text-align:center;text-transform:uppercase;letter-spacing:.18em;color:var(--red);margin-top:1.6rem;font-family:Oswald,sans-serif;font-size:.82rem;font-weight:600}
