/* Familiar neighborhood barbershop appearance */
:root{--bg:#fffdf7;--surface:#fff;--ink:#26364b;--muted:#657081;--line:#d8d8d2;--accent:#e42f37;--barber-blue:#1465a8;--barber-red:#d92f3a;--serif:"Noto Sans JP",sans-serif}
body{background:var(--bg);font-family:"Noto Sans JP","Yu Gothic",sans-serif}
body:before{content:"";display:block;height:11px;background:repeating-linear-gradient(135deg,var(--barber-blue) 0 20px,#fff 20px 40px,var(--barber-red) 40px 60px,#fff 60px 80px);position:sticky;top:0;z-index:50}
.explore-controls{min-height:46px;background:#25384d;color:#fff;display:flex;align-items:center;justify-content:center;gap:1px;padding:5px 3vw;position:relative;z-index:45}.explore-controls button{border:0;border-right:1px solid #647487;background:#354b63;color:#fff;padding:8px 17px;cursor:pointer;font-size:12px;font-weight:700}.explore-controls button:first-child{border-left:1px solid #647487}.explore-controls button:hover{background:#49627c}.explore-controls button.counting{background:#b5222c}.control-icon{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border:1px solid currentColor;border-radius:50%;font-size:11px}
.notice{background:var(--barber-blue);font-weight:700;padding:7px}.site-header{top:11px;height:92px;background:#fff;border-bottom:4px solid var(--barber-blue);box-shadow:0 2px 6px rgba(0,0,0,.12)}.brand strong{font-size:22px;color:#203b58}.brand small{color:var(--barber-red);font-weight:800}.brand-mark{position:relative;overflow:hidden;width:34px;border:2px solid #d5d5d5;border-radius:10px;background:repeating-linear-gradient(135deg,var(--barber-blue) 0 8px,#fff 8px 16px,var(--barber-red) 16px 24px,#fff 24px 32px);transform:none}.brand-mark i{display:none}.nav{gap:0}.nav a{padding:12px 18px;border-left:1px solid #ddd}.nav-book{background:var(--barber-red)!important;color:#fff!important;border:0!important;border-radius:3px;margin-left:12px}
.hero{min-height:610px;padding:55px max(5vw,calc((100vw - 1160px)/2));background:linear-gradient(90deg,#edf7ff 0 55%,#fff 55%);border-bottom:8px solid transparent;border-image:repeating-linear-gradient(90deg,var(--barber-blue) 0 25px,#fff 25px 50px,var(--barber-red) 50px 75px,#fff 75px 100px) 8}.hero:before{content:"BARBER RESET";font-size:9vw;left:3vw;bottom:.03em;-webkit-text-stroke-color:rgba(20,101,168,.08);letter-spacing:-.04em}.eyebrow{display:inline-block;background:var(--barber-blue);color:#fff;padding:6px 10px;letter-spacing:.1em}.hero h1{font-size:clamp(44px,5.7vw,78px);letter-spacing:-.05em;color:#213b58;margin:22px 0}.hero h1 em{font-family:inherit;color:var(--barber-red);font-style:normal;font-weight:800}.primary-button{background:var(--barber-red);border-radius:4px;box-shadow:0 4px 0 #9d1c25}.hero-visual{height:min(56vh,530px);border:9px solid #fff;box-shadow:0 2px 15px rgba(27,62,93,.25)}.hero-portrait{clip-path:none}.hero-badge{background:#ffe040;border:4px solid #fff;box-shadow:0 2px 8px #555;color:#1f344a}
.section{padding:80px max(5vw,calc((100vw - 1160px)/2));border-top:0}.section-index{color:var(--barber-blue);font-weight:800}.intro{background:#fff}.intro>div h2,.section-heading h2,.staff-copy h2,.reasons h2,.booking-info h2{font-size:clamp(30px,3.8vw,52px);letter-spacing:-.04em;color:#233b56}.features li{background:#f3f8fc;border:1px solid #c9dbe9;border-top:5px solid var(--barber-blue);margin-right:8px}.menu-section{background:#f1f5f8}.section-heading{border-left:7px solid var(--barber-red);padding-left:20px}.price-list{background:#fff;border:2px solid #2a5d87}.price-list article{padding:18px 25px;border-color:#c8d3dc}.price-list article:nth-child(even){background:#f3f8fc}.price-list article>div span{display:grid;place-items:center;background:var(--barber-blue);color:#fff;width:38px;height:38px;border-radius:50%}.price-list h3{color:#23405b}.price-list strong{color:var(--barber-red)}.reset-plan:hover{background:#fff2c8!important}
.catalog-section{background:#fffdf7}.catalog-grid article{background:#fff;border:1px solid #d7d7d0;padding:8px 8px 18px;box-shadow:2px 3px 0 #e1e1db}.catalog-grid .portrait{border-bottom:5px solid var(--barber-blue)}.catalog-grid h3,.catalog-grid p,.catalog-grid span{padding-left:8px}.staff-section{background:#eaf3f9;color:var(--ink);border-top:10px solid var(--barber-blue);border-bottom:10px solid var(--barber-red)}.staff-visual{border-right:8px solid #fff}.staff-copy .section-index{color:var(--barber-blue)}.staff-copy>p:not(.section-index){color:var(--muted)}.staff-profile{border-color:#b7cad9}.reasons{background:#fff}.reason-tags span{border:2px solid var(--barber-blue);background:#fff;border-radius:3px;color:#244a6d}.review-grid blockquote{border:1px solid #cbd5dc;border-top:6px solid var(--barber-blue);box-shadow:3px 3px 0 #e0e5e8}.review-grid blockquote div{color:#e7a900}.booking-section{background:#e8f3fa;border-top:8px solid var(--barber-blue)}form{border:2px solid #8fb2cd;box-shadow:5px 5px 0 #c4d9e8}form button,.confirm-final{background:var(--barber-red);border-radius:3px}footer{background:#20384f;border-top:11px solid transparent;border-image:repeating-linear-gradient(90deg,var(--barber-blue) 0 25px,#fff 25px 50px,var(--barber-red) 50px 75px,#fff 75px 100px) 11}.footer-brand .brand-mark{border-color:#fff}.transition-overlay{display:none}

/* Click-gated site alteration noise */
.noise-overlay{position:fixed;inset:0;z-index:9999;overflow:hidden;isolation:isolate;opacity:0;visibility:hidden;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(210,210,210,.22) 0,rgba(80,80,80,.3) 1px,rgba(195,195,195,.22) 2px,rgba(70,70,70,.25) 3px),linear-gradient(180deg,rgba(110,110,110,.45),rgba(180,180,180,.4))}.noise-overlay.is-active{opacity:1;visibility:visible;pointer-events:auto;cursor:pointer}.noise-layer,.noise-flash,.noise-message{position:absolute}.noise-layer{inset:-8%;pointer-events:none;z-index:1}.noise-layer-1{background:repeating-linear-gradient(0deg,rgba(240,240,240,.22) 0,rgba(50,50,50,.3) 1px,rgba(205,205,205,.2) 2px,rgba(70,70,70,.28) 3px,rgba(170,170,170,.18) 4px);mix-blend-mode:screen}.noise-layer-2{background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0,rgba(0,0,0,.1) 2px,rgba(255,255,255,.04) 4px),repeating-linear-gradient(0deg,rgba(255,255,255,.1) 0,rgba(0,0,0,.15) 2px,rgba(255,255,255,.08) 4px,rgba(0,0,0,.1) 6px);mix-blend-mode:overlay}.noise-layer-3{background:linear-gradient(180deg,transparent 0,rgba(255,255,255,.18) 14%,rgba(0,0,0,.16) 28%,rgba(255,255,255,.12) 44%,rgba(0,0,0,.14) 62%,rgba(255,255,255,.14) 78%,transparent 100%);opacity:.65;filter:blur(.4px)}.noise-flash{inset:0;z-index:2;background:linear-gradient(180deg,transparent 0,rgba(255,255,255,.2) 25%,transparent 52%,rgba(255,255,255,.16) 76%,transparent 100%);opacity:0}.noise-message{z-index:10;top:50%;left:50%;transform:translate(-50%,-50%);width:min(88vw,760px);text-align:center;white-space:nowrap;color:#7c0606;font-size:clamp(1.8rem,3.2vw,3rem);font-weight:900;letter-spacing:.14em;line-height:1.65;text-shadow:0 0 1px rgba(255,255,255,.45),0 0 4px #000,0 0 10px #000,0 0 18px #000,0 3px 6px #3c0000,0 0 16px rgba(120,0,0,.8)}.noise-message:before,.noise-message:after{content:"サイトが改変されました。";position:absolute;inset:0;pointer-events:none}.noise-message:before{color:rgba(255,220,220,.22);transform:translate(2px,0);mix-blend-mode:screen}.noise-message:after{color:rgba(50,0,0,.42);transform:translate(-2px,1px)}.noise-message small{display:block;color:#eee;font-size:11px;letter-spacing:.12em;margin-top:28px;text-shadow:0 1px 4px #000}.noise-overlay.is-active .noise-layer-1{animation:staticBandA .08s steps(2,end) infinite}.noise-overlay.is-active .noise-layer-2{animation:staticBandB .11s steps(3,end) infinite}.noise-overlay.is-active .noise-layer-3{animation:rollingBand .28s linear infinite}.noise-overlay.is-active .noise-flash{animation:flashSweep .32s linear infinite}@keyframes staticBandA{0%{opacity:.95;transform:translateY(-8px) scaleY(1.04)}50%{opacity:.7;transform:translateY(5px) scaleY(1.01)}100%{opacity:.92;transform:translateY(-3px) scaleY(1.05)}}@keyframes staticBandB{0%{opacity:.65;transform:translateX(-10px)}50%{opacity:.45;transform:translateX(12px)}100%{opacity:.7;transform:translateX(-6px)}}@keyframes rollingBand{0%{transform:translateY(-24%)}100%{transform:translateY(24%)}}@keyframes flashSweep{0%{opacity:0;transform:translateY(-18%)}35%{opacity:.42}100%{opacity:0;transform:translateY(18%)}}

body[data-state="truth"]{--bg:#101313;--surface:#191c1d;--ink:#e9e6df;--muted:#9a9e9d;--line:#3a3e3e;--accent:#c4111d}body[data-state="truth"]:before{background:repeating-linear-gradient(135deg,#4b0509 0 20px,#171717 20px 40px,#850c14 40px 60px,#171717 60px 80px)}body[data-state="truth"] .site-header{border-bottom-color:#780b12}body[data-state="truth"] .explore-controls{background:#090b0b}body[data-state="truth"] .hero{background:linear-gradient(90deg,#131718 0 55%,#0c0e0f 55%)}body[data-state="truth"] .hero h1,body[data-state="truth"] .intro h2,body[data-state="truth"] .section-heading h2,body[data-state="truth"] .staff-copy h2,body[data-state="truth"] .reasons h2,body[data-state="truth"] .booking-info h2{color:#eee}body[data-state="truth"] .features li,body[data-state="truth"] .price-list article:nth-child(even),body[data-state="truth"] .staff-section{background:#161a1b}body[data-state="truth"] .menu-section,body[data-state="truth"] .booking-section{background:#111415}body[data-state="truth"] .catalog-section,body[data-state="truth"] .reasons,body[data-state="truth"] .intro{background:#0d1010}body[data-state="truth"] .price-list{border-color:#6d171d}body[data-state="truth"] .catalog-grid article{background:#191c1d;border-color:#3b3e3e}body[data-state="truth"] form{border-color:#5e1c20;box-shadow:5px 5px 0 #280c0e}
@media(max-width:800px){body:before{position:relative}.explore-controls{display:grid;grid-template-columns:1fr;gap:3px;padding:6px}.explore-controls button{border:0!important;text-align:left}.site-header{top:0}.nav{top:70px}.hero{background:#edf7ff}.features li{margin:0 0 8px}.staff-visual{border-right:0;border-bottom:8px solid #fff}.noise-message{white-space:normal;letter-spacing:.08em;line-height:1.5}body[data-state="truth"] .hero{background:#111516}}

/* Keep each square source portrait proportional and crop only the overflow. */
.portrait{background-size:auto 200%}
