:root{font-family:'Yu Gothic','Meiryo',sans-serif;color:#213c36;background:#f5f1e8;line-height:1.8}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}header,footer{padding:24px 6vw;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #cbd0bf}header a{text-decoration:none;font-size:14px}.brand{font-family:Georgia,serif;font-size:22px;letter-spacing:3px}main{max-width:1180px;margin:auto;padding:65px 35px}.eyebrow{font-size:12px;letter-spacing:4px;color:#7d6939}h1{font-family:'Yu Mincho',serif;font-size:clamp(38px,6vw,70px);line-height:1.45;font-weight:500;margin:20px 0}.lead{color:#5c6c61}.panel{display:flex;align-items:end;gap:25px;background:#fffdf7;padding:25px;margin:42px 0;border:1px solid #d9d8c8}label{display:grid;gap:8px;font-size:13px;flex:1}input,select{font:inherit;width:100%;padding:12px;border:1px solid #bbc4b5;border-radius:2px;background:white;color:#213c36}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}article{background:#fffdf7;padding:28px;border:1px solid #d9d8c8}.empty{grid-column:1/-1}h2{font-family:'Yu Mincho',serif;font-weight:500;font-size:25px}.note{margin:65px 0 15px;max-width:700px}footer{font-size:12px;border-top:1px solid #cbd0bf}.badge{display:inline-block;background:#e5d9b9;padding:5px 12px;font-size:12px}.hero{background:#213c36;color:#fff9e9;padding:50px;border-radius:140px 140px 4px 4px;margin-top:30px}.hero p{max-width:640px}.button{display:inline-block;padding:12px 24px;background:#b59b5b;color:#152e28;text-decoration:none;border:0;font:inherit}.section{padding:45px 0;border-bottom:1px solid #cbd0bf}.menu{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d9d8c8;padding:16px 0}dt{font-weight:bold;margin-top:16px}dd{margin:0}.error{color:#a22}@media(max-width:650px){header,footer{flex-direction:column;padding:20px}main{padding:35px 20px}.panel{flex-direction:column;align-items:stretch;gap:12px}.grid{grid-template-columns:1fr}.hero{padding:60px 25px 35px}h1{font-size:38px}.menu{flex-wrap:wrap}}
:root .hero h1{font-size:clamp(32px,4.5vw,58px);text-wrap:balance}.hero .eyebrow{color:#d0bb87}
.shop-site{background:#f4f0e7;color:#253f38}.shop-site header{align-items:center}.shop-site nav{display:flex;gap:28px}.shop-site .brand{font-size:32px;letter-spacing:7px}.brand small{display:block;font:9px/2 sans-serif;letter-spacing:2px}.shop-site main{max-width:1300px;padding-top:30px}.shop-site .hero{position:relative;overflow:hidden;border-radius:5px 110px 5px 5px;padding:64px;background:radial-gradient(ellipse at 100% 0%,#48614b 0%,#253f38 60%)}.shop-site .hero h1{font-size:clamp(30px,4vw,53px);white-space:pre-line;position:relative;z-index:1}.shop-site .hero p{max-width:650px;position:relative;z-index:1}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;position:relative;z-index:1}.ornament{position:absolute;right:25px;top:40px;font-family:Georgia,serif;font-size:300px;line-height:1;color:#d4bc7c;opacity:.14}.quick-info{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #cbd0bf;padding:20px 0;gap:20px}.quick-info p{padding:0 20px;border-right:1px solid #cbd0bf;font-size:14px}.quick-info p:last-child{border:0}.quick-info small{display:block;font-size:10px;letter-spacing:2px;color:#7d6939}.shop-site .section{padding:64px 0}.shop-site h2{font-size:clamp(27px,3vw,38px);line-height:1.6}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.treatment-grid article{padding:25px}.treatment-grid h3{font-family:'Yu Mincho',serif;font-weight:500;min-height:58px;font-size:20px}.treatment-grid .menu{font-size:14px;gap:10px;padding:14px 0}.fineprint{font-size:12px;color:#637166;line-height:1.9}.access-section{display:grid;grid-template-columns:1fr 1fr;gap:64px}.shop-site details{padding:22px 0;border-bottom:1px solid #cbd0bf}.shop-site summary{cursor:pointer}.shop-site details p{color:#637166}.booking-section{text-align:center}.phone-button{font-family:Georgia,serif;font-size:32px;letter-spacing:2px}.source-note{font-size:12px;margin-top:35px}.button:hover{background:#cfb67b}.shop-site a:focus-visible,.shop-site summary:focus-visible{outline:3px solid #af8741;outline-offset:5px}@media(max-width:760px){.shop-site header{align-items:flex-start;gap:15px;flex-direction:column}.shop-site nav{gap:24px}.shop-site main{padding:24px 20px}.shop-site .hero{padding:40px 24px;border-top-right-radius:70px}.hero-actions{gap:18px}.hero-actions a{font-size:13px}.quick-info{grid-template-columns:1fr;gap:0}.quick-info p{border-right:0;padding:8px 0;margin:0}.treatment-grid,.access-section{grid-template-columns:1fr;gap:20px}.treatment-grid h3{min-height:0}.shop-site .section{padding:40px 0}.phone-button{font-size:25px}.ornament{font-size:220px;right:-50px;top:120px}}

/* Original Japjai yellow, gold and burgundy palette */
.shop-site{--wine:#681b14;--gold:#9b7b27;--line:#c4aa4e;background:#fae978 url('/shop/assets/japjaiback.jpg') repeat;color:var(--wine)}
.shop-site header{background:#fae978;border-color:var(--line);padding:22px max(25px,5vw)}.shop-site .brand{color:#681b14;font-style:italic}.header-phone{text-align:right}.header-phone strong{font-size:24px}.shop-site main{max-width:1420px}.shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;margin-top:20px}.side-menu{align-self:start;position:sticky;top:20px}.side-menu nav{display:flex;flex-direction:column;gap:0}.side-menu nav a{display:flex;align-items:center;gap:10px;padding:15px 8px;text-decoration:none;font-family:'Yu Mincho',serif;font-weight:bold;font-size:20px;border-bottom:1px solid var(--line);color:#846316}.side-menu nav a:hover{background:#fff6bd;color:#681b14}.side-menu nav a span{color:#fff8e8;text-shadow:1px 1px #ab6451;font-size:30px}.side-menu nav small{font:10px sans-serif;margin-left:auto;opacity:.65}.sidebar-info{font-size:13px;margin-top:28px}.shop-site .original-banner{width:100%;height:auto;display:block}.shop-site .hero{border-radius:0 0 60px 0;background:linear-gradient(135deg,#fff7c0,#f5df69);color:var(--wine);padding:40px;border:1px solid #c7a948}.shop-site .hero .eyebrow,.shop-site .eyebrow{color:#87681d}.shop-site .hero h1{font-size:clamp(28px,3.3vw,44px)}.shop-site .ornament{color:#a68227}.shop-site .button{background:#771d16;color:#fff6d4}.shop-site .button:hover{background:#9d3427}.shop-site .badge{background:#fff5bc;color:#681b14}.shop-site .quick-info,.shop-site .quick-info p,.shop-site .section,.shop-site details,.shop-site footer{border-color:var(--line)}.shop-site .quick-info p{font-size:12px;padding-left:10px}.shop-site .quick-info small{color:#87681d}.shop-site article{background:#fff9d4;border-color:#c7ac4c}.shop-site .fineprint,.shop-site details p{color:#7c522b}.shop-site .menu{border-color:#d7bf75}.shop-site .section{padding:45px 0;scroll-margin-top:20px}.shop-site h2{color:#681b14}.shop-site .treatment-grid{gap:12px}.shop-site .treatment-grid article{padding:18px}.shop-site .treatment-grid h3{font-size:18px}.salon-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:25px}.salon-gallery img{width:100%;height:auto;display:block;border:5px solid #fff5be;outline:1px solid #b59837}.style-description{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.style-description article{padding:20px}.style-description h3{font-size:18px;font-family:'Yu Mincho',serif}.style-description p{font-size:13px}.style-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.style-gallery img{width:100%;height:auto;display:block;border:4px solid #fff5be}.campaign-banner{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#fff5be;padding:25px;border:1px solid #bb9932}.campaign-banner strong{font-family:Georgia,serif;color:#9b1611;font-size:clamp(26px,3vw,38px)}.campaign-table{width:100%;border-collapse:collapse;background:#fff9d4;min-width:490px;font-size:14px}.campaign-table caption{text-align:left;padding:15px 0}.campaign-table th,.campaign-table td{padding:12px;border:1px solid #ceb15d;text-align:left}.campaign-table thead{background:#e6ce67}.campaign-table td:last-child{color:#a51d16;font-weight:bold}.table-scroll{overflow-x:auto}.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.staff-grid article{padding:12px;text-align:center}.staff-grid img{width:100%;height:auto;display:block}.staff-grid h3{font-family:'Yu Mincho',serif;font-size:24px;margin:15px 0}.access-directions{font-size:13px}.access-directions h3{font-size:16px}.shop-site .access-section{gap:30px}.shop-site footer{background:#efd866}.shop-site .booking-section{background:#fff4b5;padding:35px 20px;margin-top:35px;border:1px solid #c3a84b}
@media(max-width:1000px){.shop-layout{grid-template-columns:185px minmax(0,1fr);gap:20px}.shop-site .treatment-grid,.style-description{grid-template-columns:1fr}.treatment-grid h3{min-height:0}.side-menu nav a{font-size:17px}}
@media(max-width:760px){.shop-layout{display:block}.side-menu{position:static;margin-bottom:24px}.side-menu>p,.sidebar-info{display:none}.side-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.side-menu nav a{font-size:14px;padding:9px 4px}.side-menu nav a span{font-size:20px}.side-menu nav a:last-child{grid-column:1/-1}.shop-site header{flex-direction:row;align-items:center;gap:10px}.shop-site .brand{font-size:27px}.header-phone{font-size:10px!important}.header-phone strong{font-size:15px}.shop-site .hero{padding:30px 22px}.shop-site .hero h1{font-size:28px}.shop-site .hero p{font-size:14px}.shop-site .quick-info{grid-template-columns:1fr}.salon-gallery,.staff-grid{grid-template-columns:1fr}.style-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.campaign-banner{grid-template-columns:1fr;gap:0;padding:15px}.campaign-banner p{margin:10px 0}.shop-site .access-section{grid-template-columns:1fr}.shop-site .section{padding:35px 0}}


.shop-card{padding:0;overflow:hidden;box-shadow:0 8px 24px #3c30240a}.shop-card-visual{display:block;overflow:hidden;aspect-ratio:16/10;background:#e9e2ce;border-bottom:1px solid #d9d8c8}.shop-card-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .25s}.shop-card-visual:hover img{transform:scale(1.025)}.shop-card-body{padding:24px}.shop-card-body h2{font-size:23px;margin:0 0 12px}.shop-card-body p{font-size:13px;color:#657365}.shop-card-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;margin-top:20px}.capture-placeholder{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;color:#8e826b;font-size:13px}@media(prefers-reduced-motion:reduce){.shop-card-visual img{transition:none}.shop-card-visual:hover img{transform:none}}
#results.grid{grid-template-columns:1fr;gap:22px}.shop-card{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:stretch}.shop-card-visual{aspect-ratio:auto;min-height:235px;border-bottom:0;border-right:1px solid #d9d8c8}.shop-card-visual img{height:100%;min-height:235px;max-height:320px;object-fit:cover;object-position:top}.shop-card-body{padding:25px 30px}.shop-card-body h2 a{color:inherit;text-decoration:none}.shop-card-body h2 a:hover{text-decoration:underline}.shop-card-info{margin:0}.shop-card-info>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:14px;margin:9px 0;font-size:13px;line-height:1.8}.shop-card-info dt{font-weight:400;color:#8c815f;font-size:11px;margin:0}.shop-card-info dd{margin:0;color:#526558;overflow-wrap:anywhere}.shop-card-info dd a{text-decoration:none}.shop-card-links{margin-top:15px}.shop-card-links>a{display:inline-block;padding:7px 20px;border:1px solid #b5a16a;text-decoration:none;color:#4d593f}.shop-card-links>a:hover{background:#eee7d3}@media(max-width:650px){.shop-card{grid-template-columns:110px minmax(0,1fr)}.shop-card-visual{min-height:230px}.shop-card-visual img{min-height:230px;height:100%;max-height:none;object-fit:cover;object-position:top center}.shop-card-body{padding:17px 14px}.shop-card-body h2{font-size:18px;line-height:1.6;margin-bottom:13px}.shop-card-info>div{display:block;margin:9px 0;font-size:11px;line-height:1.7}.shop-card-info dt{font-size:10px;margin-bottom:2px}.shop-card-links{margin-top:14px}.shop-card-links>a{font-size:11px;padding:6px 14px}}
@media(max-width:650px){.shop-card{display:block}.shop-card-visual{aspect-ratio:16/10;min-height:0;border-right:0;border-bottom:1px solid #d9d8c8}.shop-card-visual img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:top}.shop-card-body{padding:22px}.shop-card-body h2{font-size:22px;line-height:1.6;margin-bottom:16px}.shop-card-info>div{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px;font-size:12px;margin:10px 0}.shop-card-info dt{font-size:11px;margin:0}.shop-card-links{margin-top:18px}.shop-card-links>a{font-size:12px;padding:8px 20px}}
@media(max-width:650px){#results.grid{grid-template-columns:minmax(0,1fr)}.shop-card,.shop-card-body,.panel,.panel label{min-width:0}.panel{width:100%}.panel label,.panel input,.panel select{width:100%;max-width:100%;min-width:0}.shop-card-info dd{min-width:0;overflow-wrap:anywhere}.shop-card-visual{width:100%;max-width:100%}}
.nearby-search{display:none}@media(max-width:650px){.nearby-search{display:block;width:100%;margin-top:4px}.nearby-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 15px;border:1px solid #8e7840;background:linear-gradient(110deg,#263f35,#405b42);color:#fff9e6;text-decoration:none;font-size:14px;letter-spacing:.06em;border-radius:3px}.nearby-button span{font-size:24px;line-height:1}.nearby-button:hover{background:#506848}.nearby-button:focus-visible{outline:3px solid #ad8c43;outline-offset:3px}.nearby-search small{display:block;margin-top:7px;text-align:center;font-size:10px;color:#8c8065}}
.nearby-button{font-family:inherit;cursor:pointer}.nearby-button:disabled{opacity:.6;cursor:wait}.nearby-reset{display:block;margin:10px auto 0;background:none;border:0;text-decoration:underline;color:#6e7959;font:12px inherit;cursor:pointer}.nearby-reset[hidden]{display:none}.shop-distance{font-size:12px!important;color:#967437!important;margin:6px 0 12px}.nearby-search small{white-space:normal}

/* Area search: fit desktop, tablet and narrow screens. */
.panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:18px}.panel label{min-width:0}.panel select,.panel input{min-width:0;min-height:48px}.panel #count{margin:0;grid-column:1/-1}.nearby-search{display:block;grid-column:1/-1}.nearby-button{padding:12px 20px;min-height:48px;background:#263f35;border:1px solid #8e7840;color:#fff9e6;border-radius:3px;font-size:14px}.nearby-search small{display:block;font-size:12px;margin-top:6px}.panel select:disabled{color:#66736b;background:#f2f3ed}.panel select:focus-visible,.panel input:focus-visible{outline:3px solid #ad8c43;outline-offset:2px}@media(max-width:760px){.panel{grid-template-columns:minmax(0,1fr)}.nearby-button{width:100%}}
