/* Secret Club / a personal introduction. Public HP only. */
:root{--paper:#f5f0e9;--cream:#fbf8f3;--ink:#362923;--rose:#793c4b;--rose-light:#e9ddd5;--muted:#756760;--line:#d5c5ba;--serif:'Noto Serif JP','Yu Mincho',serif;--heading:'Zen Antique Soft','Noto Serif JP',serif;--sans:'Noto Sans JP','Hiragino Sans',sans-serif;--latin:'Bodoni Moda',Georgia,serif;--wrap:1180px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:15px;line-height:2.05;-webkit-font-smoothing:antialiased;line-break:strict;overflow-wrap:normal}
:lang(ja){word-break:keep-all;overflow-wrap:normal;line-break:strict}
:lang(en){word-break:normal}
body,button,a{-webkit-tap-highlight-color:transparent}
::selection{background:#dbc5c5;color:var(--ink)}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3,h4{margin:0}
button{font:inherit}
h1,h2,h3{font-family:var(--heading);font-weight:400;line-height:1.65;letter-spacing:.045em;text-wrap:balance;word-break:keep-all}
h1{font-size:clamp(31px,3.7vw,50px)}
h2{font-size:clamp(26px,2.7vw,36px);margin-bottom:32px}
h3{font-size:21px;line-height:1.7;margin-bottom:15px}
p+p{margin-top:20px}
.wrap{max-width:var(--wrap);padding-inline:36px;margin-inline:auto}
section{padding:96px 0}
.tinted{background:#ebe1d8}
.eyebrow,.tag,.sub{font-family:var(--sans);font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.15em;color:var(--rose);margin-bottom:25px}
.eyebrow[lang=en]{letter-spacing:.2em}
.tag{display:flex;align-items:center;gap:14px}
.tag::before{content:'';width:25px;height:1px;background:currentColor;flex-shrink:0}
.lead{font-size:15px;line-height:2.2;color:#66544c;max-width:38em}
.small,small{font-size:12px;line-height:1.9;color:var(--muted)}
.nb{white-space:nowrap}
.skip-link{position:fixed;top:8px;left:12px;z-index:30;transform:translateY(-150%);background:var(--cream);padding:8px 18px}
.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(245,240,233,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.site-header .bar{max-width:1440px;display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:25px}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;flex-shrink:0;color:var(--rose)}
.brand img{display:none}
.brand .word{font-family:var(--latin);font-weight:500;font-size:24px;letter-spacing:.065em;white-space:nowrap}
.brand-caption{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.22em;color:var(--muted);line-height:1.2;margin-top:2px}
.nav{display:flex;gap:30px;align-items:center}
.nav a{font-family:var(--sans);text-decoration:none;font-size:12px;font-weight:400;letter-spacing:.045em;position:relative;padding:12px 0}
.nav a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.nav-toggle{display:none;border:0;border-left:1px solid var(--line);background:none;padding:8px 0 8px 18px;font-family:var(--sans);font-size:11px;color:var(--ink);cursor:pointer}
.cta,.ghost,.hero-link{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;min-height:56px;padding:15px 24px;font-family:var(--sans);font-weight:500;font-size:13px;line-height:1.7;letter-spacing:.045em;text-decoration:none;transition:background .25s,color .25s,transform .25s}
.cta{background:var(--rose);color:var(--cream);border:1px solid var(--rose)}
.cta::after,.ghost::after,.hero-link::after{content:'↗';font-family:var(--sans);font-size:18px;font-weight:400;line-height:1}
.cta:hover{background:#5f2836;border-color:#5f2836}
.ghost,.hero-link{border:1px solid var(--line);color:var(--rose);background:transparent}
.ghost:hover,.hero-link:hover{background:var(--rose-light);border-color:#b5948d}
.hero-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.salon-hero{position:relative;padding:34px 0 58px;isolation:isolate}
.salon-hero::before{content:'';position:absolute;z-index:-1;inset:0 0 0 60%;background:#e8d8ce}
.hero-composition{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;max-width:1340px}
.hero-copy{padding:38px 0 15px}
.hero-intro{font-family:var(--latin);font-size:clamp(45px,5.7vw,78px);font-weight:400;line-height:1;letter-spacing:-.04em;color:#a47c7c;font-style:italic;margin-bottom:30px}
.hero-copy h1{font-size:clamp(32px,3.65vw,51px);line-height:1.65;margin:0 0 24px;letter-spacing:.025em}
.hero-copy h1 em{font-style:normal;color:var(--rose)}
.hero-copy .lead{font-size:14px;max-width:34em}
.hero-copy .hero-links{margin-top:32px}
.hero-copy .cta,.hero-copy .ghost{padding-inline:21px;gap:26px}
.hero-footnote{font-family:var(--sans);font-size:10px;letter-spacing:.14em;border-top:1px solid var(--line);padding-top:24px;margin-top:42px;color:var(--muted);display:flex;align-items:center;gap:18px}
.hero-footnote span{display:inline-block;width:26px;height:1px;background:var(--rose)}
.hero-portrait{position:relative;margin:0 0 0 10px}
.hero-portrait::before{position:absolute;content:'';inset:16px -16px -16px 16px;border:1px solid #bb9388;z-index:-1}
.hero-portrait img{width:100%;max-height:670px;aspect-ratio:3/4;object-fit:cover;object-position:center 39%}
.hero-portrait figcaption,.subhero-picture figcaption{font-family:var(--sans);font-size:10px;line-height:1.7;color:#6e5952;padding-top:11px;text-align:right;letter-spacing:.035em}
.hero-side-label{position:absolute;right:-13px;top:20px;transform:translateX(100%);writing-mode:vertical-rl;font-family:var(--sans);font-size:10px;letter-spacing:.18em;color:#6e5147}
.perspective{padding:113px 0 104px;background:var(--cream)}
.perspective-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:start}
.editorial-word{font-family:var(--latin);font-size:clamp(48px,5.8vw,80px);font-style:italic;line-height:1.12;letter-spacing:-.045em;color:var(--rose)}
.perspective-copy h2{font-size:30px;line-height:1.8}
.perspective-copy p{font-size:15px;line-height:2.35}
.text-link{display:inline-flex;justify-content:space-between;align-items:center;min-height:44px;gap:60px;font-family:var(--sans);font-size:12px;color:var(--rose);text-decoration:none;border-bottom:1px solid #b89592;margin-top:28px}
.text-link::after{content:'↗';font-size:18px}
.principles{padding:0 0 90px;background:var(--cream)}
.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);list-style:none;margin:0;padding:0}
.principles-grid li{padding:36px 30px 36px 0;position:relative}
.principles-grid li+li{border-left:1px solid var(--line);padding-left:30px}
.principle-no{font-family:var(--latin);font-size:38px;font-style:italic;line-height:1;color:#a3787b;display:block;margin-bottom:20px}
.principles-grid h3{font-size:21px;margin-bottom:12px}
.principles-grid p{font-size:13px;color:#6b5750}
.invitation{padding:0;background:var(--paper)}
.invitation-head{padding-block:64px 44px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.invitation-head h2{margin:0}
.invitation-head .eyebrow{margin:0 0 8px}
.invitation-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.invitation-card{position:relative;padding:60px 64px 58px;text-decoration:none;display:flex;flex-direction:column;min-height:430px;transition:background .3s}
.invitation-card:first-child{border-right:1px solid #c8ada8;background:#e8d9d2}
.invitation-card:first-child:hover{background:#dfc9c2}
.invitation-card:last-child{background:#f1e9dc}
.invitation-card:last-child:hover{background:#e8ddca}
.invitation-card .latin-title{font-family:var(--latin);font-size:clamp(44px,5.5vw,72px);font-style:italic;line-height:1;margin-bottom:30px;color:var(--rose)}
.invitation-card h3{font-size:26px;margin-bottom:18px}
.invitation-card p{font-size:14px;max-width:34em}
.invitation-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:32px;font-family:var(--sans);font-size:12px;color:var(--rose);line-height:1.7}
.circle-arrow{display:grid;place-items:center;border:1px solid #ad8381;border-radius:50%;width:44px;height:44px;flex-shrink:0;font-size:22px;transition:background .25s,color .25s}
.invitation-card:hover .circle-arrow{background:var(--rose);color:white}
.home-questions{background:var(--cream)}
.questions-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.questions-grid .editorial-word{font-size:58px;margin-bottom:26px}
.questions-grid h2{font-size:25px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:25px 44px 25px 0;font-family:var(--serif);font-size:15px;line-height:1.9}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font:300 23px var(--sans);position:absolute;right:4px;top:22px;color:var(--rose)}
.faq details[open] summary::after{content:'−'}
.faq .a{font-size:14px;color:#66564f;padding:0 40px 26px 0;line-height:2.1}
.subhero{padding:44px 0 60px;background:linear-gradient(90deg,var(--paper) 0 66%,#e9ddd5 66%)}
.subhero-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:70px;align-items:center;max-width:1240px}
.subhero-copy{padding-block:28px}
.subhero-copy h1{margin-bottom:30px}
.subhero-copy .lead{font-size:14px}
.subhero-picture{position:relative;margin:0;min-width:0}
.subhero-picture img{width:100%;aspect-ratio:3/3.8;object-fit:cover;object-position:center 36%;max-height:560px}
[data-page=about] .subhero-picture img{aspect-ratio:4/4.3;object-position:50% 50%}
.text-hero{background:var(--rose-light);padding-block:66px 64px;border-bottom:1px solid #d4bfb6}
.text-hero .subhero-grid{display:block}
.text-hero .subhero-copy{max-width:850px;padding:0}
.text-hero h1{font-size:clamp(34px,4vw,51px);margin-bottom:24px}
.text-hero .lead{max-width:42em}
.pains{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-block:1px solid var(--line)}
.pains li{padding:24px 28px;position:relative;font-size:15px;line-height:1.9}
.pains li:first-child{padding-left:0}
.pains li+li{border-left:1px solid var(--line)}
.pains h3{font-size:19px}
.pains p{font-size:13px;color:#68564f}
.answer{margin-top:26px;color:var(--rose)}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;margin:0;padding:0}
.features.two{grid-template-columns:repeat(2,1fr)}
.feature{padding:30px 0 0;border-top:1px solid #bba396}
.feature .no{font:italic 43px/1 var(--latin);color:var(--rose);margin-bottom:24px}
.feature p{font-size:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:32px}
.two h3{font-size:21px}
.two p{font-size:14px}
.split{display:grid;grid-template-columns:.8fr 1fr;gap:70px;align-items:center}
.ph{min-height:380px;aspect-ratio:4/3.5;background-size:cover;background-position:center}
.chips{display:flex;flex-wrap:wrap;list-style:none;gap:10px;margin:26px 0;padding:0}
.chips li{border:1px solid #cdbbae;padding:5px 12px;font-family:var(--sans);font-size:11px;color:#6d5c50}
.flow{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0;counter-reset:steps;gap:0 30px}
.flow li{counter-increment:steps;border-top:1px solid #bca599;padding:32px 0;position:relative}
.flow li::before{content:counter(steps,decimal-leading-zero);display:block;font:italic 40px/1 var(--latin);color:#925966;margin-bottom:22px}
.flow h3{font-size:20px;margin-bottom:12px}
.flow p{font-size:13px;line-height:2.05}
.notice{background:#f6eee7;border-left:2px solid var(--rose);padding:24px 30px;margin-block:28px}
.voice{position:relative;max-width:840px;margin:auto;border-block:1px solid #c6aea3;padding:45px 50px;font-size:16px;line-height:2.4;background:rgba(255,255,255,.25)}
.who{font-family:var(--sans);font-size:12px;text-align:right;margin-top:25px}
.band{position:relative;background-image:linear-gradient(90deg,rgba(50,30,25,.72),rgba(50,30,25,.28)),var(--band-img);background-size:cover;background-position:center;padding-block:100px;color:#fff8ee}
.band .q{font-family:var(--heading);font-size:30px;line-height:1.9;letter-spacing:.07em}
.band .s{font-family:var(--latin);font-style:italic;font-size:23px;margin-top:20px}
.deep{background:var(--rose);color:#fff7ee}
.deep .tag,.deep .sub,.deep .lead,.deep .cta-note{color:#f7dedc}
.deep .cta{background:#f7eee4;color:var(--rose);border-color:#f7eee4;min-width:280px}
.deep .cta:hover{background:white}
.deep .cta-note{font-family:var(--sans);font-size:12px;line-height:2;margin-top:20px}
.deep h2{max-width:800px}
.deep p{max-width:750px}
.deep .wrap>.cta{margin-top:28px}
.deep .notice{display:inline-block;background:transparent;border:0;padding:0;margin:28px 0 10px;font-family:var(--sans);font-size:11px;letter-spacing:.12em;color:#f6dfdc}
.policy-copy h3{margin-top:32px}
[data-page=privacy] main section:not(.subhero) .wrap{max-width:940px}
[data-page=privacy] h3{padding-top:22px}
[data-page=privacy] dl{display:grid;grid-template-columns:160px 1fr;margin:0}
[data-page=privacy] dt,[data-page=privacy] dd{margin:0;padding:24px 0;border-bottom:1px solid var(--line)}
[data-page=privacy] dt{font-family:var(--sans);font-size:13px}
footer{padding:64px 0 24px;background:#e5d6cd;border-top:1px solid #cfb8ad}
.foot{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:40px}
.foot .mark{font-family:var(--latin);font-size:34px;letter-spacing:.045em;color:var(--rose);margin-bottom:16px;line-height:1.4}
.foot .small{font-size:11px;margin-top:8px;line-height:1.9}
.foot h4{font-family:var(--sans);font-size:12px;font-weight:500;margin-bottom:18px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{font-family:var(--sans);font-size:11px;padding:5px 0}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot-note{font-family:var(--sans);font-size:10px;line-height:1.9;color:#786459;border-top:1px solid #cbb4a8;padding-top:22px;margin-top:44px}
.copy{font-family:var(--sans);font-size:9px;letter-spacing:.1em;color:#7b6459;margin-top:12px}
/* Content stays visible if JavaScript, animation or observers fail. */
.reveal{opacity:1}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .8s var(--ease) both}.hero-portrait{animation:arrive 1s .1s var(--ease) both}.reveal.in{animation:arrive .65s var(--ease) both}@keyframes arrive{from{opacity:.45;transform:translateY(14px)}to{opacity:1;transform:none}}}
@media(min-width:1500px){.salon-hero{padding-block:50px 75px}.hero-copy h1{font-size:54px}}
@media(max-width:1050px){.nav{gap:19px}.wrap{padding-inline:28px}.hero-composition{gap:30px}.hero-copy h1{font-size:36px}.hero-intro{font-size:58px}.hero-copy .hero-links{gap:10px}.hero-copy .cta,.hero-copy .ghost{font-size:12px;padding-inline:14px;gap:18px}.perspective-grid{gap:65px}.invitation-card{padding:45px 40px}.subhero-grid{gap:40px}.subhero h1{font-size:35px}.hero-side-label{display:none}}
@media(max-width:760px){
 html{scroll-padding-top:90px}body{font-size:14px;line-height:2.05}.wrap{padding-inline:24px}section{padding-block:68px}h2{font-size:26px;margin-bottom:28px}h3{font-size:20px}.lead{font-size:14px}
 .site-header .bar{min-height:73px}.brand .word{font-size:21px}.brand-caption{font-size:8px}.nav-toggle{display:block;min-height:42px}.nav{display:none;position:absolute;top:73px;left:0;right:0;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid var(--line);padding:12px 24px 20px}.nav.open{display:flex}.nav a{width:100%;padding:16px 4px;font-size:13px;border-bottom:1px solid var(--line)}.nav a::after{display:none}.nav a[aria-current=page]{color:var(--rose)}
 .salon-hero{padding:0 0 32px;background:var(--paper)}.salon-hero::before{inset:54% 0 0 28%}.hero-composition{grid-template-columns:1fr;gap:28px}.hero-copy{padding:38px 0 0}.hero-copy .eyebrow{font-size:10px;margin-bottom:18px}.hero-intro{font-size:52px;margin-bottom:22px}.hero-copy h1{font-size:34px;line-height:1.65;margin-bottom:20px}.hero-copy .lead{font-size:13px;line-height:2.05}.hero-copy .hero-links{display:grid;grid-template-columns:1fr 1fr;margin-top:26px;gap:10px}.hero-copy .cta,.hero-copy .ghost{font-size:12px;min-height:50px;gap:8px;padding:13px}.hero-footnote{display:none}.hero-portrait{margin:0 8px 0 0}.hero-portrait img{max-height:450px;aspect-ratio:4/4.7;object-position:center 28%}.hero-portrait::before{inset:10px -10px -10px 10px}.hero-portrait figcaption{font-size:9px;padding-top:8px}
 .perspective{padding:68px 0 48px}.perspective-grid{grid-template-columns:1fr;gap:28px}.editorial-word{font-size:48px}.perspective-grid>.perspective-label{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.perspective-label .eyebrow{font-size:10px;max-width:7em;padding-top:10px;order:2}.perspective-copy h2{font-size:25px;margin-bottom:22px}.perspective-copy p{font-size:14px;line-height:2.2}.text-link{margin-top:20px}
 .principles{padding-bottom:58px}.principles-grid{display:block}.principles-grid li,.principles-grid li+li{border-left:0;padding:26px 0 26px 56px}.principles-grid li+li{border-top:1px solid var(--line)}.principle-no{position:absolute;top:31px;left:0;font-size:30px}.principles-grid h3{font-size:19px}.principles-grid p{font-size:13px}
 .invitation-head{display:block;padding-block:40px 30px}.invitation-head .eyebrow{margin-bottom:18px}.invitation-head h2{font-size:25px}.invitation-grid{display:block}.invitation-card{padding:39px 27px 33px;min-height:0}.invitation-card:first-child{border-right:0;border-bottom:1px solid #c8ada8}.invitation-card .latin-title{font-size:53px;margin-bottom:23px}.invitation-card h3{font-size:23px}.invitation-card p{font-size:13px}.invitation-bottom{padding-top:26px}
 .questions-grid{grid-template-columns:1fr;gap:28px}.questions-grid .editorial-word{font-size:48px;margin-bottom:18px}.questions-grid h2{margin-bottom:12px}.questions-grid .text-link{margin-top:10px}.faq summary{font-size:14px;padding-block:22px}.faq .a{font-size:13px;padding-right:16px}.faq summary::after{top:20px}
 .subhero{padding:36px 0 35px;background:linear-gradient(90deg,var(--paper) 0 65%,#e9ddd5 65%)}.subhero-grid{grid-template-columns:1fr;gap:25px}.subhero-copy{padding:0}.subhero-copy .eyebrow{font-size:10px;margin-bottom:20px}.subhero-copy h1{font-size:31px;margin-bottom:24px}.subhero-copy .lead{font-size:13px}.subhero .hero-links{margin-top:25px;gap:10px}.subhero .cta,.subhero .ghost,.subhero .hero-link{padding:12px 16px;gap:15px;font-size:12px;min-height:50px}.subhero-picture img{aspect-ratio:4/4.6;max-height:410px;object-position:center 28%}.subhero-picture figcaption{font-size:9px}[data-page=about] .subhero-picture img{aspect-ratio:4/3.1}.text-hero{background:var(--rose-light);padding-block:43px}.text-hero h1{font-size:32px}.text-hero .subhero-grid{display:block}
 .pains{grid-template-columns:1fr}.pains li,.pains li:first-child{padding:20px 0;font-size:14px}.pains li+li{border-left:0;border-top:1px solid var(--line)}.features,.features.two,.two{grid-template-columns:1fr;gap:28px}.two{margin-top:28px}.feature{position:relative;padding:25px 0 0 55px}.feature .no{position:absolute;top:27px;left:0;font-size:31px}.feature h3{font-size:20px}.feature p{font-size:13px}.two h3{font-size:20px}.two p{font-size:13px}.split{grid-template-columns:1fr;gap:28px}.ph{min-height:250px;aspect-ratio:4/3}.chips{gap:8px}.chips li{font-size:10px;padding:4px 9px}
 .flow{grid-template-columns:1fr;gap:0}.flow li{padding:25px 0 27px 54px}.flow li::before{position:absolute;top:29px;left:0;font-size:30px}.flow h3{font-size:18px}.flow p{font-size:13px}.notice{padding:20px;font-size:13px}.voice{padding:26px 22px;font-size:14px;line-height:2.2}.who{font-size:11px}.band{padding-block:70px}.band .q{font-size:25px}.deep .cta{min-width:0;width:100%;max-width:360px}.deep .cta-note{font-size:11px}
 [data-page=privacy] dl{grid-template-columns:1fr}[data-page=privacy] dt{padding-bottom:5px;border:0}[data-page=privacy] dd{padding-top:5px;font-size:13px}
 footer{padding-top:43px}.foot{grid-template-columns:1fr 1fr;gap:30px 20px}.foot>div:first-child{grid-column:1/-1}.foot .mark{font-size:30px}.foot-note{margin-top:30px}.copy{font-size:9px}
}
@media(max-width:360px){.wrap{padding-inline:20px}.hero-copy h1{font-size:30px}.hero-copy .cta,.hero-copy .ghost{font-size:11px;padding-inline:10px}.brand .word{font-size:19px}}
@media(max-width:760px){html:not(.js) .site-header .bar{flex-wrap:wrap;padding-top:18px}html:not(.js) .nav{display:flex;position:static;padding:0 0 10px;background:transparent;flex:0 0 100%}html:not(.js) .nav-toggle{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
