/* Core Type Profile — Le Musée du Caractère */
body.cp-museum-page{margin:0;background-color:var(--paper,#f3eee4);background-image:radial-gradient(circle at 1px 1px,rgba(28,26,22,.032) 1px,transparent 0);background-size:22px 22px;color:var(--ink,#1c1a16)}
.cp-museum,.cp-museum *{box-sizing:border-box}
.cp-museum{--cp-max:1080px;--cp-copy:720px;font-family:var(--serif,'Cormorant Garamond','Shippori Mincho',serif);font-size:16px;line-height:1.9}
.cp-museum :where(h1,h2,h3,h4,summary){overflow-wrap:normal;word-break:normal;line-break:strict;text-wrap:balance}
@supports(word-break:auto-phrase){.cp-museum:lang(ja) :where(h1,h2,h3,h4,summary){word-break:auto-phrase}}
.cp-museum:lang(ko) :where(h1,h2,h3,h4,summary){word-break:keep-all;overflow-wrap:normal}
.cp-museum:lang(en) :where(h1,h2,h3,h4,summary),.cp-museum:lang(ru) :where(h1,h2,h3,h4,summary),.cp-museum:lang(es) :where(h1,h2,h3,h4,summary){word-break:normal;overflow-wrap:normal;hyphens:none}
.cp-shell{width:min(var(--cp-max),calc(100% - 48px));margin-inline:auto}
.cp-label{margin:0 0 13px;color:var(--gold,#b0882a);font:500 10px/1.5 var(--sans,'Jost',sans-serif);letter-spacing:.28em;text-transform:uppercase}
.cp-title{margin:0;color:var(--ink,#1c1a16);font:500 clamp(30px,4.5vw,48px)/1.38 var(--disp,'Cinzel','Shippori Mincho',serif);letter-spacing:.025em}
.cp-lead{max-width:var(--cp-copy);margin:20px 0 0;color:var(--ink2,#5a554b);font-size:16px;line-height:2}
.cp-section{padding:clamp(68px,9vw,112px) 0;border-bottom:1px solid var(--line,#e3dbcb)}
.cp-section-head{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1fr);gap:clamp(32px,7vw,88px);align-items:start;margin-bottom:48px}
.cp-section-head .cp-lead{margin-top:4px}

.cp-hero{position:relative;overflow:hidden;padding:clamp(68px,9vw,116px) 0 72px;border-bottom:1px solid var(--line2,#d6cdb9)}
.cp-hero::after{position:absolute;top:-190px;right:-130px;width:520px;height:520px;border:1px solid rgba(176,136,42,.15);border-radius:50%;content:'';pointer-events:none}
.cp-hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(290px,.72fr);gap:clamp(48px,8vw,104px);align-items:center}
.cp-hero h1{max-width:760px;margin:0;font:500 clamp(37px,5.7vw,67px)/1.35 var(--disp,'Cinzel','Shippori Mincho',serif);letter-spacing:.018em}
.cp-hero h1 em{color:var(--gold-dk,#8a6a1f);font-style:normal}
.cp-hero-lead{max-width:660px;margin:28px 0 0;color:var(--ink2,#5a554b);font-size:17px;line-height:2.05}
.cp-hero-note{max-width:660px;margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--line,#e3dbcb);color:var(--ink3,#938c7c);font-size:13px;line-height:1.9}
.cp-plate{position:relative;min-height:390px;padding:36px 30px;border:1px solid var(--line2,#d6cdb9);background:rgba(251,248,241,.84);box-shadow:0 26px 58px -48px rgba(28,26,22,.8)}
.cp-plate::before{position:absolute;inset:9px;border:1px solid rgba(176,136,42,.5);content:'';pointer-events:none}
.cp-plate-head{position:relative;margin:0 0 30px;padding-bottom:12px;border-bottom:1px solid var(--line,#e3dbcb);color:var(--ink3,#938c7c);font:500 9px/1.5 var(--sans,'Jost',sans-serif);letter-spacing:.22em;text-transform:uppercase}
.cp-layer-mini{position:relative;margin:0 auto -1px;padding:15px 18px;border:1px solid var(--line2,#d6cdb9);background:var(--paper2,#fbf8f1)}
.cp-layer-mini span{display:block;color:var(--gold-dk,#8a6a1f);font:500 9px/1.4 var(--sans,'Jost',sans-serif);letter-spacing:.18em}
.cp-layer-mini strong{display:block;margin-top:4px;font:500 16px/1.5 var(--disp,'Cinzel','Shippori Mincho',serif)}
.cp-layer-mini:nth-of-type(2){width:92%}.cp-layer-mini:nth-of-type(3){width:84%;border-color:var(--gold,#b0882a)}.cp-layer-mini:nth-of-type(4){width:76%;background:var(--noir,#15120e);color:var(--noir-ink,#eae3d5)}
.cp-layer-mini:nth-of-type(4) span{color:var(--gold-lt,#c9a227)}

.cp-anchor{border-bottom:1px solid var(--line,#e3dbcb);background:rgba(251,248,241,.78)}
.cp-anchor-inner{display:flex;flex-wrap:wrap}
.cp-anchor a{display:flex;align-items:center;min-height:52px;padding:8px 24px;border-right:1px solid var(--line,#e3dbcb);color:var(--ink2,#5a554b);font:500 11px/1.5 var(--sans,'Jost',sans-serif);letter-spacing:.05em;text-decoration:none}
.cp-anchor a:first-child{border-left:1px solid var(--line,#e3dbcb)}
.cp-anchor a:hover{background:var(--paper2,#fbf8f1);color:var(--gold-dk,#8a6a1f)}

.cp-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2,#d6cdb9);border-left:1px solid var(--line2,#d6cdb9)}
.cp-principle{min-height:270px;padding:28px 26px;border-right:1px solid var(--line2,#d6cdb9);border-bottom:1px solid var(--line2,#d6cdb9);background:rgba(251,248,241,.54)}
.cp-principle-num{margin:0 0 30px;color:var(--gold,#b0882a);font:500 11px/1 var(--mono,'Space Mono',monospace)}
.cp-principle h3{margin:0;font:500 21px/1.55 var(--disp,'Cinzel','Shippori Mincho',serif)}
.cp-principle p{margin:14px 0 0;color:var(--ink2,#5a554b);font-size:14px;line-height:1.9}
.cp-caution{margin:34px 0 0;padding:22px 25px;border-left:2px solid var(--gold,#b0882a);background:rgba(251,248,241,.7);color:var(--ink2,#5a554b);font-size:13px;line-height:1.9}

.cp-layers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cp-layer{position:relative;min-height:286px;padding:28px 22px 24px;border:1px solid var(--line2,#d6cdb9);background:var(--paper2,#fbf8f1)}
.cp-layer::before{position:absolute;top:0;left:0;width:100%;height:2px;background:var(--cp-tone,var(--gold));content:''}
.cp-layer:nth-child(1){--cp-tone:var(--ink,#1c1a16)}.cp-layer:nth-child(2){--cp-tone:var(--sub,#6b4e8a)}.cp-layer:nth-child(3){--cp-tone:var(--gold,#b0882a)}.cp-layer:nth-child(4){--cp-tone:var(--ink3,#938c7c)}
.cp-layer-code{color:var(--cp-tone);font:500 9px/1.4 var(--sans,'Jost',sans-serif);letter-spacing:.2em}
.cp-layer h3{margin:25px 0 4px;font:500 25px/1.4 var(--disp,'Cinzel','Shippori Mincho',serif)}
.cp-layer h4{margin:0;color:var(--ink3,#938c7c);font:400 12px/1.6 var(--sans,'Jost',sans-serif);letter-spacing:.04em}
.cp-layer p{margin:21px 0 0;color:var(--ink2,#5a554b);font-size:13px;line-height:1.9}

.cp-noir{background:var(--noir,#15120e);color:var(--noir-ink,#eae3d5);background-image:linear-gradient(120deg,rgba(176,136,42,.035),transparent 45%)}
.cp-noir .cp-title{color:var(--noir-ink,#eae3d5)}.cp-noir .cp-lead{color:var(--noir-ink2,#b7ae9c)}
.cp-process{max-width:850px;margin-left:auto;border-top:1px solid rgba(234,227,213,.2)}
.cp-step{display:grid;grid-template-columns:72px minmax(0,1fr);gap:26px;padding:25px 0;border-bottom:1px solid rgba(234,227,213,.18)}
.cp-step-num{padding-top:3px;color:var(--gold-lt,#c9a227);font:500 11px/1.5 var(--mono,'Space Mono',monospace)}
.cp-step h3{margin:0;color:var(--noir-ink,#eae3d5);font:500 18px/1.55 var(--disp,'Cinzel','Shippori Mincho',serif)}
.cp-step p{margin:7px 0 0;color:var(--noir-ink2,#b7ae9c);font-size:14px;line-height:1.85}

.cp-scope-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line2,#d6cdb9);background:rgba(251,248,241,.58)}
.cp-scope{padding:34px clamp(24px,4vw,42px)}.cp-scope + .cp-scope{border-left:1px solid var(--line2,#d6cdb9)}
.cp-scope h3{margin:0 0 20px;font:500 22px/1.5 var(--disp,'Cinzel','Shippori Mincho',serif)}
.cp-scope ul{margin:0;padding:0;list-style:none}
.cp-scope li{position:relative;padding:10px 0 10px 22px;border-top:1px solid var(--line,#e3dbcb);color:var(--ink2,#5a554b);font-size:14px;line-height:1.7}
.cp-scope li::before{position:absolute;left:2px;top:11px;color:var(--gold,#b0882a);content:'—'}

.cp-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2,#d6cdb9);border-left:1px solid var(--line2,#d6cdb9)}
.cp-plan{display:flex;min-height:500px;flex-direction:column;padding:30px 27px;border-right:1px solid var(--line2,#d6cdb9);border-bottom:1px solid var(--line2,#d6cdb9);background:rgba(251,248,241,.72)}
.cp-plan-code{color:var(--gold,#b0882a);font:500 9px/1.5 var(--sans,'Jost',sans-serif);letter-spacing:.2em}
.cp-plan h3{margin:17px 0 0;font:500 27px/1.4 var(--disp,'Cinzel','Shippori Mincho',serif)}
.cp-plan-price{margin:4px 0 0;color:var(--ink3,#938c7c);font:400 15px/1.5 var(--sans,'Jost',sans-serif);letter-spacing:.04em}
.cp-plan-summary{min-height:105px;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line,#e3dbcb);color:var(--ink2,#5a554b);font-size:14px;line-height:1.85}
.cp-plan ul{margin:7px 0 25px;padding:0;list-style:none}
.cp-plan li{position:relative;padding:6px 0 6px 18px;color:var(--ink2,#5a554b);font-size:13px;line-height:1.65}
.cp-plan li::before{position:absolute;left:0;color:var(--gold,#b0882a);content:'·'}
.cp-plan-select{margin-top:auto;padding:12px 0;border:0;border-top:1px solid var(--ink,#1c1a16);border-bottom:1px solid var(--ink,#1c1a16);background:transparent;color:var(--ink,#1c1a16);font:500 11px/1.5 var(--sans,'Jost',sans-serif);letter-spacing:.05em;cursor:pointer;text-align:left}
.cp-plan-select:hover{color:var(--gold-dk,#8a6a1f);border-color:var(--gold,#b0882a)}
.cp-tax{max-width:760px;margin:24px 0 0;color:var(--ink3,#938c7c);font-size:12px;line-height:1.9}

.cp-faqs{max-width:850px;margin-left:auto;border-top:1px solid var(--line2,#d6cdb9)}
.cp-faq{border-bottom:1px solid var(--line2,#d6cdb9)}
.cp-faq summary{position:relative;padding:20px 46px 20px 0;cursor:pointer;list-style:none;font:500 16px/1.65 var(--disp,'Cinzel','Shippori Mincho',serif)}
.cp-faq summary::-webkit-details-marker{display:none}.cp-faq summary::after{position:absolute;right:6px;top:21px;color:var(--gold,#b0882a);font:400 20px/1 var(--sans,'Jost',sans-serif);content:'+'}.cp-faq[open] summary::after{content:'−'}
.cp-faq p{max-width:740px;margin:0;padding:0 46px 22px 0;color:var(--ink2,#5a554b);font-size:14px;line-height:1.9}

.cp-inquiry{padding:clamp(70px,9vw,110px) 0;background:var(--panel,#ece5d6)}
.cp-inquiry-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1fr);gap:clamp(38px,8vw,100px);align-items:start}
.cp-form{padding:34px;border:1px solid var(--line2,#d6cdb9);border-top:2px solid var(--gold,#b0882a);background:var(--paper2,#fbf8f1);box-shadow:0 22px 54px -50px rgba(28,26,22,.75)}
.cp-form-row{margin-bottom:20px}.cp-form-row:last-of-type{margin-bottom:0}
.cp-form label{display:block;margin-bottom:8px;color:var(--ink2,#5a554b);font:500 11px/1.5 var(--sans,'Jost',sans-serif);letter-spacing:.06em}
.cp-required{margin-left:7px;color:var(--gold-dk,#8a6a1f);font-size:9px;letter-spacing:.08em}
.cp-form input,.cp-form select,.cp-form textarea{display:block;width:100%;padding:13px 14px;border:1px solid var(--line2,#d6cdb9);border-radius:0;background:#fffdf8;color:var(--ink,#1c1a16);font:400 15px/1.55 var(--sans,'Jost','Noto Sans JP',sans-serif)}
.cp-form textarea{min-height:116px;resize:vertical}.cp-form input:focus,.cp-form select:focus,.cp-form textarea:focus{outline:2px solid rgba(176,136,42,.24);outline-offset:1px;border-color:var(--gold,#b0882a)}
.cp-submit{width:100%;margin-top:26px;padding:14px 18px;border:1px solid var(--ink,#1c1a16);border-radius:0;background:var(--ink,#1c1a16);color:var(--paper,#f3eee4);font:500 12px/1.5 var(--sans,'Jost',sans-serif);letter-spacing:.08em;cursor:pointer}
.cp-submit:hover{background:var(--gold-dk,#8a6a1f);border-color:var(--gold-dk,#8a6a1f)}
.cp-privacy{margin:14px 0 0;color:var(--ink3,#938c7c);font-size:11px;line-height:1.7;text-align:center}.cp-privacy a{color:inherit}
.cp-status{padding:26px;border:1px solid var(--line2,#d6cdb9);border-left:3px solid var(--gold,#b0882a);background:var(--paper2,#fbf8f1)}.cp-status h3{margin:0;font:500 22px/1.5 var(--disp,'Cinzel','Shippori Mincho',serif)}.cp-status p{margin:10px 0 0;color:var(--ink2,#5a554b);font-size:14px}
.cp-status.is-error{border-left-color:#8b4b42}

:lang(ko) .cp-title,:lang(ko) .cp-hero h1,:lang(ko) .cp-principle h3,:lang(ko) .cp-layer h3,:lang(ko) .cp-plan h3{letter-spacing:0}
@media(max-width:900px){.cp-hero-grid,.cp-section-head,.cp-inquiry-grid{grid-template-columns:1fr}.cp-plate{min-height:340px;max-width:480px}.cp-principles,.cp-plans{grid-template-columns:1fr}.cp-principle{min-height:0}.cp-layers{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-plan{min-height:0}.cp-plan-summary{min-height:0}.cp-process,.cp-faqs{margin-left:0}}
@media(max-width:640px){.cp-shell{width:min(100% - 30px,var(--cp-max))}.cp-hero{padding-top:54px}.cp-hero h1{font-size:clamp(31px,9vw,44px)}.cp-hero-lead{font-size:15px}.cp-plate{min-height:315px;padding:28px 22px}.cp-anchor-inner{display:grid;grid-template-columns:1fr 1fr}.cp-anchor a{min-height:48px;border-bottom:1px solid var(--line,#e3dbcb);border-left:0!important;padding-inline:14px}.cp-layers{grid-template-columns:1fr}.cp-layer{min-height:0}.cp-scope-grid{grid-template-columns:1fr}.cp-scope + .cp-scope{border-top:1px solid var(--line2,#d6cdb9);border-left:0}.cp-step{grid-template-columns:44px 1fr;gap:14px}.cp-form{padding:24px 18px}.cp-plan{padding:27px 22px}.cp-title{font-size:clamp(27px,8vw,38px)}}
@media(prefers-reduced-motion:reduce){.cp-museum *{scroll-behavior:auto!important}}
