@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--ink:#202524;--muted:#69716e;--line:#dfe3df;--soft:#f3f5f3;--accent:#718379}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:white;color:var(--ink);font:16px/1.9 'Noto Sans JP',sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}h1,h2,h3,p{margin:0}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #91b9a1;outline-offset:5px}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.wordmark{font-size:27px;letter-spacing:.18em;line-height:1.2;font-weight:600}.wordmark span{display:block;font-size:10px;letter-spacing:.38em;margin-top:8px}.header nav{display:flex;align-items:center;gap:34px;font:500 14px/1.4 Arial,sans-serif;letter-spacing:.07em}.header nav a:hover{opacity:.65}.nav-reserve{background:var(--ink);color:white;padding:15px 32px;font-family:'Noto Sans JP',sans-serif}.menu-toggle{display:none}.hero{position:relative;min-height:650px;height:min(790px,85vh);overflow:hidden;color:white;background:var(--ink)}.hero-photo{width:75%;height:100%;object-fit:cover;object-position:50% 50%;position:absolute;right:0;top:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#202524 0%,#202524f5 20%,#202524b3 38%,#2025240d 78%)}.hero-content{position:relative;padding:80px 7% 110px}.eyebrow{font:500 12px/1.7 Arial,sans-serif;letter-spacing:.18em;margin-bottom:26px}.hero h1{font-size:clamp(40px,4.4vw,66px);font-weight:500;letter-spacing:.12em;line-height:1.55}.hero-en{font:italic 22px/1.7 Georgia,serif;margin-top:15px;color:#d0d9d2}.hero-description{margin-top:30px;line-height:2}.hero-actions{display:flex;gap:12px;margin-top:35px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:14px 25px;font-size:14px;font-weight:500;letter-spacing:.03em;transition:background .2s}.light{background:white;color:var(--ink)}.light:hover,.white:hover{background:#dce7df}.outline{border:1px solid #ffffff8a;color:white}.outline:hover{background:#ffffff15}.dark{background:var(--ink);color:white}.dark:hover{background:#45534b}.white{background:white;border:1px solid var(--line)}.hero-bottom{position:absolute;bottom:24px;left:7%;right:5%;display:flex;justify-content:space-between;font:12px/1.8 Arial,sans-serif;letter-spacing:.16em}.hero-bottom a{border-bottom:1px solid white;padding-bottom:5px}.brand-strip{padding:32px 7%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);font-size:18px;letter-spacing:.06em}.brand-strip span:not(:first-child){font-family:Georgia,serif;font-size:24px}.section{padding:100px 7%}.concept{display:grid;grid-template-columns:1fr 1fr;gap:8%}.section-title h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(42px,4.3vw,65px);font-weight:400;line-height:1.12}.section-title .eyebrow{color:var(--accent);margin-bottom:22px}.caption{font-size:15px;margin-top:24px;font-weight:500;letter-spacing:.07em}.concept-copy h3{font-size:25px;font-weight:500;letter-spacing:.1em;line-height:1.8;margin-bottom:28px}.concept-copy p{margin-bottom:23px;color:#555e59;line-height:2.1}.text-link{display:inline-block;font-size:14px;font-weight:500;border-bottom:1px solid;padding:5px 0}.text-link:hover{color:var(--accent)}.salons{background:var(--soft)}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.intro{font-size:15px;color:var(--muted)}.filters{display:flex;align-items:center;gap:24px;margin:45px 0 32px;border-top:1px solid #d5ddd6;border-bottom:1px solid #d5ddd6;padding:24px 0}.filters label{display:flex;align-items:center;gap:20px;font-size:14px}.filters select{background:white;border:1px solid #ced6cf;border-radius:0;padding:10px 30px 10px 15px;font-size:14px;color:var(--ink);min-height:46px}.filters>span{margin-left:auto;font-size:14px;color:var(--muted)}.salon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.salon-card{background:white;border:1px solid #e0e6e0}.salon-brand{height:165px;background:#e8eee9;display:flex;align-items:center;justify-content:center;flex-direction:column;font:48px/1.3 'DM Serif Display',Georgia,serif;letter-spacing:.04em}.salon-card:nth-child(3n+2) .salon-brand{background:#e8ebec}.salon-card:nth-child(3n+3) .salon-brand{background:#eceee7}.salon-brand span{font:12px/1.4 Arial,sans-serif;letter-spacing:.22em;margin-top:8px}.salon-detail{padding:26px 23px}.salon-meta{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.salon-meta span{font-size:10px;border:1px solid #dce2dd;padding:0 6px}.salon-detail h3{font-size:18px;line-height:1.7;margin:10px 0 12px;font-weight:600}.salon-detail>p:not(.salon-meta){font-size:14px;color:var(--muted);line-height:1.9;min-height:54px}.card-links{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px;font-size:14px}.card-links a:first-child{font-weight:500}.card-links a:last-child{color:var(--muted)}.card-links a:hover{text-decoration:underline}[hidden]{display:none!important}#empty{padding-top:25px}.recruit{position:relative;padding:90px 7%;background:#26362e;color:white;overflow:hidden}.recruit-inner{position:relative;z-index:1;max-width:950px}.recruit .eyebrow{color:#b4c5b9}.recruit h2{font-size:clamp(40px,4.6vw,68px);font-weight:500;letter-spacing:.12em;line-height:1.5}.recruit-en{font:italic 24px/1.6 Georgia,serif;color:#b8c9be;margin-top:20px}.recruit-copy{display:flex;gap:50px;margin-top:34px;color:#d9e3db}.recruit-points{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:50px 0 35px;max-width:880px}.recruit-points>div{border-top:1px solid #ffffff40;padding-top:20px}.recruit-points span{font:14px Arial,sans-serif;color:#a9beb0}.recruit-points h3{font-size:18px;font-weight:500;margin:10px 0}.recruit-points p{font-size:14px;color:#c8d4ca}.note{font-size:12px;color:#bccdc1;margin-top:15px}.recruit-type{position:absolute;right:1%;top:50px;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(85px,12vw,175px);line-height:.99;color:#ffffff09;pointer-events:none}.faq,.company{display:grid;grid-template-columns:1fr 1.3fr;gap:9%}.faq{border-bottom:1px solid var(--line)}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-size:16px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'＋';font-size:21px}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:14px;line-height:2;color:var(--muted);padding-top:15px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:19px 0;font-size:15px}.company dt{color:var(--muted)}.company dd{margin:0}.company-contact{padding-top:25px;font-size:14px;color:var(--muted)}.company-contact .text-link{margin-top:12px;color:var(--ink)}.closing{background:#edf2ed;padding:60px 7%;display:flex;justify-content:space-between;align-items:center;gap:25px}.closing>p{font-size:23px;font-weight:500;letter-spacing:.1em}.closing>div{display:flex;gap:12px}footer{padding:60px 7% 25px}.footer-links{display:flex;gap:28px;flex-wrap:wrap;font-size:14px;margin-top:35px}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:25px;color:var(--muted)}.footer-bottom small{font-size:12px}.mobile-actions{display:none}
@media(max-width:1000px){.header nav{gap:19px}.wordmark{font-size:23px}.hero-photo{width:85%}.section{padding:80px 6%}.salon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-strip{flex-wrap:wrap;justify-content:center;padding:24px}.concept,.faq,.company{gap:5%}.concept-copy h3{font-size:22px}.closing>p{font-size:19px}.recruit-copy{gap:30px}}
@media(max-width:700px){html{scroll-padding-top:76px}.header{height:76px;padding:0 6%}.wordmark{font-size:22px}.wordmark span{font-size:9px;margin-top:6px}.menu-toggle{display:block;background:none;border:0;padding:12px 0;font:12px Arial,sans-serif;color:var(--ink)}.header nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;padding:20px 6% 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav>a{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.header nav .nav-reserve{text-align:center;padding:15px;margin-top:15px;border:0}.hero{height:700px;min-height:0}.hero-photo{width:100%;object-position:56% 45%;opacity:.8}.hero-shade{background:linear-gradient(90deg,#171e19a6,#171e1921),linear-gradient(0deg,#171e19eb,transparent 90%)}.hero-content{padding:85px 7% 100px}.hero .eyebrow{font-size:11px;margin-bottom:24px}.hero h1{font-size:43px;letter-spacing:.1em}.hero-en{font-size:20px}.hero-description{margin-top:35px}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px}.hero-actions .button{min-width:235px}.hero-bottom{font-size:10px}.brand-strip{gap:15px 24px;padding:24px 5%;font-size:14px}.brand-strip span:not(:first-child){font-size:21px}.section{padding:65px 7%}.section-title h2{font-size:46px}.caption{font-size:14px;margin-top:20px}.eyebrow{font-size:11px}.concept,.faq,.company{grid-template-columns:1fr;gap:38px}.section-top{display:block}.intro{margin-top:25px;font-size:14px}.filters{gap:14px;flex-wrap:wrap;margin:28px 0 24px;padding:20px 0;align-items:flex-end}.filters label{display:block;width:calc(50% - 7px);font-size:12px}.filters select{width:100%;margin-top:7px;font-size:14px;padding-left:10px;padding-right:22px}.filters>span{width:100%;text-align:right;font-size:12px}.salon-grid{grid-template-columns:1fr;gap:20px}.salon-brand{height:145px}.salon-detail{padding:23px}.salon-detail>p:not(.salon-meta){min-height:0}.recruit{padding:65px 7%}.recruit h2{font-size:43px}.recruit-en{font-size:20px}.recruit-copy{display:block;font-size:15px}.recruit-copy p+p{margin-top:20px}.recruit-points{grid-template-columns:1fr;gap:24px;margin:35px 0}.recruit .button{width:100%;padding:14px 12px;font-size:13px}.recruit-type{top:65px;right:-10px;font-size:90px}.faq-list summary{font-size:15px}.company dl>div{grid-template-columns:80px 1fr;gap:10px;font-size:14px}.closing{display:block;padding:40px 7%}.closing>p{font-size:18px;letter-spacing:.04em}.closing>div{margin-top:24px}.closing .button{flex:1;padding:12px 15px;font-size:13px}footer{padding:45px 7% 100px}.footer-links{gap:18px;font-size:12px}.footer-bottom{flex-direction:column;gap:7px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:white;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-actions a{width:50%;text-align:center;padding:15px 5px;font-size:14px;font-weight:500}.mobile-actions a:last-child{background:var(--ink);color:white}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Allow the expanded brand roster to wrap within the page. */
.brand-strip{flex-wrap:wrap;justify-content:center;gap:22px 38px}
/* Owner-supplied portrait: keep the face clear and separate copy on mobile. */
.hero{height:740px;min-height:650px}
.hero-photo{width:56%;object-position:50% 53%;opacity:1}
.hero-shade{background:linear-gradient(90deg,#202524 0%,#202524 37%,#202524b3 46%,transparent 62%)}
.hero-content{padding-top:85px;padding-bottom:90px;max-width:62%}
.hero-actions{max-width:500px}
@media(min-width:701px) and (max-width:1000px){.hero-content{max-width:68%;padding-left:5%}.hero h1{font-size:42px}.hero-photo{width:55%}.hero-actions{max-width:280px}}
@media(max-width:700px){.hero{height:auto;min-height:0;display:flex;flex-direction:column}.hero-photo{position:relative;order:0;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%;display:block}.hero-shade{display:none}.hero-content{order:1;max-width:none;padding:34px 7% 72px}.hero h1{font-size:36px;line-height:1.5}.hero .eyebrow{margin-bottom:18px}.hero-en{font-size:19px}.hero-description{margin-top:20px;font-size:15px}.hero-actions{max-width:none;flex-direction:row;gap:10px;margin-top:24px}.hero-actions .button{min-width:0;flex:1;font-size:12px;padding:12px 10px}.hero-bottom{bottom:18px;font-size:10px}}
.salon-category + .salon-category{margin-top:64px}
.category-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-bottom:1px solid #bdcbbf;margin-bottom:26px;padding-bottom:20px}
.category-heading p{font:500 12px/1.7 Arial,sans-serif;letter-spacing:.18em;color:#55695a;margin-bottom:8px}
.category-heading h3{font-size:26px;line-height:1.5;letter-spacing:.08em;font-weight:500}
.category-count{font-size:14px;color:var(--muted)}
@media(max-width:700px){.salon-category + .salon-category{margin-top:46px}.category-heading h3{font-size:23px}.category-heading{margin-bottom:20px;padding-bottom:16px}}

.photo-journal{padding:90px max(24px,6vw);background:#f8f7f3}.latest-journal{background:#eeeee7}.photo-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.photo-section-heading h2{font-size:clamp(24px,3vw,38px);font-weight:500;margin:12px 0}.photo-section-heading p:not(.eyebrow){font-size:14px;color:#626963}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}.journal-tile{display:block;text-decoration:none;color:inherit;min-width:0}.journal-tile img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#ddd}.journal-tile>div{padding:18px 0}.journal-tile h3{font-size:17px;line-height:1.7;font-weight:500;margin:8px 0;overflow-wrap:anywhere}.journal-tile time{font-size:12px;color:#68716a}.journal-tile .eyebrow{font-size:11px}.journal-tile:hover img{filter:brightness(.96)}@media(max-width:650px){.photo-journal{padding:55px 20px}.photo-section-heading{display:block}.photo-section-heading>a{display:inline-block;margin-top:16px}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.journal-tile h3{font-size:14px}.journal-tile .eyebrow{letter-spacing:.06em}}
.feed-label{margin:24px 0 18px;font-size:13px;font-weight:500;letter-spacing:.12em}.journal-grid+.feed-label{margin-top:48px}.eye-journal{background:#eeeae5}.salon-interior{position:relative;display:block;min-height:260px;overflow:hidden;background:#38433d;color:#fff}.salon-interior img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s}.salon-interior:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000010 10%,#00000035 40%,#000000c9 100%)}.interior-title{position:absolute;bottom:25px;left:25px;right:20px;z-index:1;display:flex;flex-direction:column;gap:8px;text-shadow:0 2px 14px #0009}.interior-title strong{font-size:25px;font-weight:500;letter-spacing:.03em;line-height:1.5}.interior-title>span{font-size:10px;letter-spacing:.15em}.salon-interior:hover img,.salon-interior:focus-visible img{transform:scale(1.04)}.salon-interior:focus-visible{outline-offset:-5px}@media(prefers-reduced-motion:reduce){.salon-interior img{transition:none}}@media(max-width:650px){.salon-interior{min-height:240px}.interior-title strong{font-size:24px}}

/* Match salon card exposure to LINDO Shinsaibashi; keep image assets original. */
.salon-interior:after{background:linear-gradient(180deg,transparent 35%,#00000010 62%,#00000080 100%)}
.interior-title strong{text-shadow:0 2px 10px #0009}
.salon-interior img[src="/salon-interiors/H000527806-1.jpg"]{filter:brightness(1) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000560429-1.jpg"]{filter:brightness(1.19) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000645258-0.jpg"]{filter:brightness(1.1) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000685512-0.jpg"]{filter:brightness(1.21) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000599314-1.jpg"]{filter:brightness(1.24) contrast(.96)}
.salon-interior img[src="/salon-interiors/ate-user-interior.jpg"]{filter:brightness(1.5) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000767790-0.jpg"]{filter:brightness(1.05) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000472501-0.jpg"]{filter:brightness(1.14) contrast(.96)}
.salon-interior img[src="/salon-interiors/nplus-user.jpg"]{filter:brightness(1.51) contrast(.96)}
.salon-interior img[src="/salon-interiors/nplus-lita-user.jpg"]{filter:brightness(1.9) contrast(.82)}
.salon-interior:has(img[src="/salon-interiors/nplus-lita-user.jpg"]):after{background:linear-gradient(180deg,transparent 55%,#00000008 75%,#00000060 100%)}
.salon-interior img[src="/salon-interiors/H000589334-0.jpg"]{filter:brightness(1.22) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000666592-0.jpg"]{filter:brightness(1.14) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000816778-0.jpg"]{filter:brightness(1.15) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000690588-0.jpg"]{filter:brightness(1.23) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000776766-0.jpg"]{filter:brightness(1) contrast(.96)}
.salon-interior img[src="/salon-interiors/H000799894-0.jpg"]{filter:brightness(1.29) contrast(.96)}

/* Three-photo hero: retain complete collages and existing introduction. */
.hero-slides{position:absolute;right:0;top:0;width:56%;height:100%;background:#e6e8ea;overflow:hidden}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .7s ease}.hero-slide.is-active{opacity:1}.hero-slide.hero-collage{object-fit:contain}.hero-shade{pointer-events:none}.hero-controls{position:absolute;bottom:55px;right:20px;display:flex;gap:8px;z-index:3}.hero-controls button{border:1px solid #fff8;background:#202524b8;color:white;padding:9px 13px;cursor:pointer;font:12px Arial}.hero-controls button[aria-pressed=true]{background:white;color:#202524}.hero-controls button:focus-visible{outline:3px solid #b8d1e6;outline-offset:3px}@media(max-width:650px){.hero-slides{position:relative;order:0;width:100%;height:auto;aspect-ratio:16/10}.hero-slide:first-child{object-position:50% 42%}.hero-controls{bottom:12px;right:12px}.hero-controls button{padding:8px 12px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
