:root{--paper:#f7f4ef;--ink:#1f1f1f;--brown:#8b5f49;--line:#d9d1c7;--olive:#727564;--sumi:#262724;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}.site-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);background:rgba(247,244,239,.96)}.brand{display:flex;flex-direction:column;line-height:1.25}.brand span{font-family:Georgia,"Yu Mincho",serif;font-size:1.2rem}.brand small{font-size:.76rem;color:#666}.site-header nav{display:flex;gap:14px;align-items:center;font-size:.88rem}.nav-book{font-weight:bold;border-bottom:1px solid var(--ink)}main{max-width:1100px;margin:auto}.hero{position:relative;min-height:650px;display:flex;align-items:flex-end;overflow:hidden}.hero img{position:relative;z-index:0;width:100%;height:650px;object-fit:cover;filter:saturate(.8)}.hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.14) 38%,rgba(0,0,0,.68) 100%)}.hero-copy{position:absolute;z-index:2;inset:auto 20px 28px;color:var(--white);max-width:650px;text-shadow:0 1px 3px rgba(0,0,0,.95),0 2px 14px rgba(0,0,0,.65)}.hero-copy:before{content:none}.eyebrow{letter-spacing:.08em;font-size:.72rem;text-transform:uppercase;margin:0 0 10px;color:#75675e}.hero .eyebrow{color:#fff}.hero h1,.page-intro h1{font-family:Georgia,"Yu Mincho",serif;font-weight:400;line-height:1.25;font-size:clamp(2rem,5vw,3.6rem);margin:0 0 18px;word-break:keep-all}.hero-copy p:not(.eyebrow){max-width:34em}.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:9px 22px;border:1px solid var(--ink);font-weight:bold;font-size:.9rem;cursor:pointer}.button.primary{background:var(--sumi);border-color:var(--sumi);color:white}.button.primary:hover{background:#1d1e1c;border-color:#1d1e1c}.button:focus-visible{outline:3px solid var(--olive);outline-offset:3px}.button.secondary{background:var(--white)}.hero .secondary{background:transparent;color:white;border-color:white}.section{padding:72px 22px;border-bottom:1px solid var(--line)}.section-heading h2,.section h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;line-height:1.35;margin:0 0 16px;font-size:clamp(1.6rem,4vw,2.6rem)}.feature-link{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:1.05rem}.feature-link strong{font-family:Georgia,"Yu Mincho",serif;font-size:1.5rem;font-weight:400}.case-card{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr;gap:24px;align-items:center}.case-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.case-card span,.text-link{display:inline-block;margin-top:15px;text-decoration:underline;text-underline-offset:4px}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.info-grid strong{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:1.2rem}.final-cta{text-align:center}.page-intro{padding:90px 22px 50px;max-width:850px}.page-intro h1{font-size:clamp(2.1rem,7vw,4rem)}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 22px}.before-after figure{margin:0}.before-after img{width:100%;aspect-ratio:1/1;object-fit:cover}.before-after figcaption{font-size:.8rem;margin-top:5px}.detail-list{display:grid;gap:0}.detail-list>div{padding:25px 0;border-top:1px solid var(--line)}.soft-panel{background:#ebe7df}.profile-block{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.profile-block img{width:100%;max-height:550px;object-fit:cover}.salon-block{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.salon-block img{width:100%;aspect-ratio:4/3;object-fit:cover}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.option{display:block;padding:30px;border:1px solid var(--ink);background:var(--white)}.primary-option{background:var(--sumi);color:white;border-color:var(--sumi)}.primary-option .eyebrow{color:white}.consult-form{max-width:650px;display:grid;gap:18px}.consult-form label{display:grid;gap:5px;font-weight:bold}.consult-form input{width:100%;padding:14px;border:1px solid var(--line);background:var(--white);font:inherit}footer{padding:28px 22px;font-size:.75rem;color:#6f665f}@media(max-width:700px){.site-header{padding:13px 15px}.site-header nav{gap:8px;font-size:.76rem}.brand span{font-size:1rem}.hero,.hero img{min-height:590px;height:590px}.hero-copy{inset:auto 16px 22px}.hero h1{font-size:2.35rem}.section{padding:52px 18px}.split,.info-grid,.profile-block,.salon-block,.booking-options{grid-template-columns:1fr;gap:24px}.case-card{grid-template-columns:1fr;gap:14px}.before-after{padding:0 18px}.page-intro{padding:65px 18px 38px}.feature-link{font-size:.9rem}.feature-link strong{font-size:1.2rem}}
/* Top v2 */
.top-v2 .v2-hero{position:relative;min-height:clamp(640px,78vh,820px);overflow:hidden;background:#1f1f1f}.top-v2 .v2-hero>img{display:block;width:100%;height:clamp(640px,78vh,820px);object-fit:cover;object-position:center 38%}.top-v2 .v2-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.04) 68%);pointer-events:none}.v2-hero-copy{position:absolute;z-index:1;left:clamp(20px,7vw,90px);right:20px;bottom:clamp(28px,7vw,72px);color:#fff;max-width:760px;text-shadow:0 1px 4px rgba(0,0,0,.9)}.v2-identity{font-size:clamp(.9rem,1.5vw,1.1rem);font-weight:bold;letter-spacing:.04em;margin:0 0 16px}.v2-hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2.4rem,6vw,5.8rem);font-weight:400;line-height:1.16;letter-spacing:.02em;margin:0 0 20px}.v2-hero-copy>p:not(.v2-identity){font-size:clamp(.95rem,1.7vw,1.15rem);margin:0;max-width:34em}.v2-concern{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:clamp(55px,8vw,100px) clamp(22px,7vw,90px);border-bottom:1px solid #d9d1c7}.v2-concern h2,.v2-section-label h2,.v2-approach h2,.v2-info h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;line-height:1.35;font-size:clamp(1.8rem,4vw,3.5rem);margin:0}.v2-arrow-link{border-bottom:1px solid #1f1f1f;padding-bottom:5px;white-space:nowrap}.v2-case{padding:clamp(60px,9vw,120px) clamp(22px,7vw,90px);background:#ebe7df}.v2-section-label{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.v2-section-label>p:last-child{max-width:18em;margin:0;color:#625a54}.v2-case-visual{display:grid;grid-template-columns:1fr 34px 1fr;gap:16px;align-items:center}.v2-case-visual figure{margin:0}.v2-case-visual img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.v2-case-visual figcaption{font-size:.75rem;margin-top:5px}.v2-case-mark{text-align:center;font-size:1.3rem}.v2-case-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:28px 0;border-top:1px solid #b9b0a6;border-bottom:1px solid #b9b0a6}.v2-case-notes>div{padding:20px;border-right:1px solid #b9b0a6}.v2-case-notes>div:last-child{border-right:0}.v2-case-notes span{font-size:.72rem;color:#75675e;letter-spacing:.08em}.v2-case-notes p{margin:8px 0 0}.v2-approach{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1fr);gap:clamp(28px,7vw,90px);align-items:center;padding:clamp(55px,8vw,110px) clamp(22px,7vw,90px)}.v2-approach img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 25%}.v2-info{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:clamp(55px,8vw,100px) clamp(22px,7vw,90px);background:#fffdf9;border-top:1px solid #d9d1c7}.v2-info-list{border-top:1px solid #1f1f1f}.v2-info-list p{padding:15px 0;margin:0;border-bottom:1px solid #d9d1c7}.v2-info-list strong{font-family:Georgia,"Yu Mincho",serif;font-weight:400}.v2-final{text-align:center;padding:clamp(55px,8vw,100px) 22px}.v2-final>p{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(1.6rem,3vw,2.6rem);margin:0}.v2-final small{font-size:.8rem}@media(max-width:700px){.v2-hero,.top-v2 .v2-hero>img{min-height:650px;height:650px}.v2-hero-copy{left:18px;bottom:28px}.v2-hero h1{font-size:2.55rem}.v2-concern{display:block;padding:54px 18px}.v2-arrow-link{display:inline-block;margin-top:26px}.v2-case{padding:58px 18px}.v2-section-label{display:block}.v2-section-label>p:last-child{margin-top:10px}.v2-case-visual{grid-template-columns:1fr 20px 1fr;gap:7px}.v2-case-notes{grid-template-columns:1fr}.v2-case-notes>div{border-right:0;border-bottom:1px solid #b9b0a6}.v2-case-notes>div:last-child{border-bottom:0}.v2-approach,.v2-info{grid-template-columns:1fr;padding:54px 18px;gap:28px}.v2-final{padding:58px 18px}}
/* Top v2 final refinement: compact lower-page rhythm only. */
.top-v2 .v2-approach{padding-top:clamp(42px,6vw,72px);padding-bottom:clamp(42px,6vw,72px);gap:clamp(24px,5vw,64px);background:#f0ece5}.top-v2 .v2-approach img{max-height:420px}.top-v2 .v2-approach h2{font-size:clamp(1.7rem,3.5vw,3rem);margin-bottom:12px}.top-v2 .v2-approach p:not(.eyebrow){margin-top:0;margin-bottom:12px}.top-v2 .v2-info{padding-top:clamp(42px,6vw,72px);padding-bottom:clamp(42px,6vw,72px);gap:28px}.top-v2 .v2-info-list p{padding:10px 0}.top-v2 .v2-final{padding:clamp(44px,6vw,76px) 22px;border-top:1px solid #d9d1c7;background:#ebe7df}.top-v2 .v2-final>p{margin-bottom:10px}.top-v2 .v2-final .cta-row{justify-content:center;margin:10px 0 8px}.top-v2 .v2-final .button{min-width:190px}@media(max-width:700px){.top-v2 .v2-approach{padding-top:42px;padding-bottom:42px;gap:20px}.top-v2 .v2-approach img{max-height:none}.top-v2 .v2-info{padding-top:42px;padding-bottom:42px;gap:20px}.top-v2 .v2-final{padding:44px 18px}.top-v2 .v2-final .button{width:100%;min-width:0}}
/* Phase 1 inner-page design system: Top v2 language, page-specific rhythm. */
.inner-page{background:#f7f4ef}.inner-page .site-header{position:relative}.inner-page .page-intro{max-width:900px;padding:clamp(58px,8vw,104px) clamp(22px,7vw,90px) clamp(34px,5vw,58px)}.inner-page .page-intro h1{font-size:clamp(2.2rem,5vw,4.8rem);letter-spacing:.01em}.inner-page .section{padding:clamp(42px,6vw,78px) clamp(22px,7vw,90px)}.inner-page .eyebrow{font-weight:600;color:#75675e}.inner-page .case-card{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:clamp(24px,5vw,70px);align-items:end}.inner-page .case-card img{aspect-ratio:4/3}.inner-page .soft-panel{background:#ebe7df;border-top:1px solid #d9d1c7;border-bottom:1px solid #d9d1c7}.inner-page .before-after{max-width:1000px;margin:0 auto;padding:0 clamp(22px,7vw,90px);gap:18px}.inner-page .before-after img{aspect-ratio:4/3}.inner-page .detail-list{max-width:900px;margin:0 auto}.inner-page .profile-block{background:#ebe7df}.inner-page .profile-block img{aspect-ratio:4/5}.inner-page .salon-block{background:#fffdf9}.inner-page .booking-options{padding-top:0}.inner-page .option{border-color:#1f1f1f;transition:background .15s ease}.inner-page .option:hover{background:#f0ece5}.inner-page .primary-option:hover{background:#1d1e1c}.inner-page .final-cta{padding-top:clamp(44px,6vw,72px);padding-bottom:clamp(44px,6vw,72px)}
@media(max-width:700px){.inner-page .site-header nav{gap:8px}.inner-page .page-intro{padding:54px 18px 34px}.inner-page .page-intro h1{font-size:2.35rem}.inner-page .section{padding:44px 18px}.inner-page .case-card{grid-template-columns:1fr;gap:16px}.inner-page .before-after{padding:0 18px;gap:8px}.inner-page .profile-block img{aspect-ratio:4/5}.inner-page .booking-options{padding-top:0}}
.inner-page:has(.soft-panel) .page-intro h1,.inner-page:has(.before-after) .page-intro h1,.inner-page:has(.booking-options) .page-intro h1,.inner-page .booking-options .option h2{word-break:normal;overflow-wrap:normal;line-break:strict}
.inner-page:has(.soft-panel) .page-intro h1 br,.inner-page:has(.before-after) .page-intro h1 br,.inner-page:has(.booking-options) .page-intro h1 br{display:none}
.inner-page:has(.soft-panel) .page-intro h1,.inner-page:has(.before-after) .page-intro h1,.inner-page:has(.booking-options) .page-intro h1{text-wrap:balance}
.inner-page .booking-options .option{min-width:0}
.inner-page .booking-options .option h2{text-wrap:balance}
