/* B concept: a single paper consultation sheet. Scoped to the contact page. */
@font-face{font-family:ContactMincho;src:url('/pricing-assets/mincho-semibold.woff2?v=unified-pricing-7') format('woff2');font-weight:600;font-display:swap}
.contact-page{--ink:#191b24;--blue:#3934ed;--muted:#606472;--line:#d9dbe2;background:#f6f5f2;color:var(--ink);font:400 16px/1.85 'Hiragino Kaku Gothic ProN','Noto Sans JP','Yu Gothic',Meiryo,sans-serif}
.contact-page .site-header[data-dothub-header]{background:#f6f5f2;color:var(--ink);mix-blend-mode:normal;border-bottom:1px solid #191b240c}
.contact-page .site-header[data-dothub-header] .nav-contact{background:var(--ink);color:#fff}
.contact-page .site-header[data-dothub-header] nav[data-open]{background:#f6f5f2}
.contact-page [hidden]{display:none!important}
.contact-main{width:min(1180px,calc(100% - 64px));margin:auto;padding:26px 0 70px}
.contact-intro{text-align:center;margin:0 auto 32px;max-width:820px}
.contact-eyebrow{color:var(--blue);font-size:14px;font-weight:600;letter-spacing:.04em;margin:0 0 18px}
.contact-intro h1{font:600 clamp(36px,3.8vw,50px)/1.45 ContactMincho,'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.015em;margin:0 0 16px}
.contact-intro-copy{font-size:16px;line-height:1.9;margin:0;color:#414551}
.contact-response{font-size:14px;color:#525764;margin:12px 0 0}
/* The adopted gallery invitation sits outside the form and keeps one native link. */
@font-face{font-family:ContactInvitationMincho;src:url('/marketplace/mincho-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
.contact-marketplace{display:grid;grid-template-columns:35% minmax(0,1fr);width:min(100%,820px);min-height:170px;margin:0 auto 26px;border:1px solid #d6d8df;background:#fbfaf7;color:var(--ink);text-decoration:none;transition:border-color .25s,box-shadow .25s}
.contact-marketplace-art{display:grid;align-items:center;position:relative;isolation:isolate;overflow:hidden;min-width:0;background:#29231d url('/marketplace/gallery.webp') center 53%/cover no-repeat;padding:22px 19px 25px}
.contact-marketplace-art::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0000,#0002)}
.contact-marketplace-exhibition{display:grid;grid-template-columns:.82fr 1.18fr;gap:10px;align-items:end;position:relative}
.contact-marketplace-exhibition>span{display:block;padding:3px;background:linear-gradient(120deg,#655e50,#12120f 50%,#37342d);border:1px solid #7c715b;box-shadow:0 5px 7px #0009}
.contact-marketplace-exhibition img{display:block;width:100%;height:auto}
.contact-marketplace-copy{align-self:center;min-width:0;padding:23px 27px}
.contact-marketplace-copy h2{font:600 21px/1.65 ContactInvitationMincho,'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:-.02em;margin:0 0 6px;text-wrap:pretty}
.contact-marketplace-copy h2>span{display:inline-block;max-width:100%}
.contact-marketplace-copy>p{font-size:14px;line-height:1.8;color:#606472;margin:0}
.contact-marketplace-action{display:inline-flex;align-items:center;gap:14px;margin-top:13px;font-size:15px;font-weight:600;line-height:1.6;color:var(--blue)}
.contact-marketplace-action svg{width:20px;height:20px;transition:transform .25s}
.contact-marketplace:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(hover:hover){.contact-marketplace:hover{border-color:#9b97d9;box-shadow:0 5px 18px #191b2406}.contact-marketplace:hover .contact-marketplace-action svg{transform:translateX(4px)}}
@media(max-width:600px){
 .contact-marketplace{grid-template-columns:32% minmax(0,1fr);margin-bottom:23px;min-height:160px}
 .contact-marketplace-art{padding:18px 8px 22px;background-position:center}.contact-marketplace-exhibition{gap:5px}.contact-marketplace-exhibition>span{padding:2px}
 .contact-marketplace-copy{padding:16px 14px}.contact-marketplace-copy h2{font-size:16px;line-height:1.65;margin-bottom:7px}.contact-marketplace-copy>p{font-size:12px;line-height:1.8}
 .contact-marketplace-action{font-size:13px;gap:9px;margin-top:11px}.contact-marketplace-action svg{width:17px;height:17px}
}
@media(max-width:360px){.contact-marketplace{grid-template-columns:29% minmax(0,1fr)}.contact-marketplace-copy{padding:14px 11px}.contact-marketplace-copy h2{font-size:15px}.contact-marketplace-art{padding-inline:5px}.contact-marketplace-exhibition{gap:3px}}
@media(prefers-reduced-motion:reduce){.contact-marketplace,.contact-marketplace-action svg{transition:none}}
@media(forced-colors:active){.contact-marketplace{border-color:LinkText}.contact-marketplace-art{display:none}.contact-marketplace{grid-template-columns:1fr}.contact-marketplace-action,.contact-marketplace-copy>p{color:LinkText}}
.contact-sheet{position:relative;width:min(100%,820px);margin:auto;padding:40px 44px 34px;border:1px solid #d6d8df;background:#fff;box-shadow:0 3px 5px #191b2403,0 14px 40px #191b2405}
.contact-sheet:before{content:'';position:absolute;top:0;left:-1px;width:3px;height:52px;background:var(--blue)}
.contact-sheet:after{content:'';position:absolute;inset:0;background:url('/pricing-assets/proposal-paper-grain.svg') repeat;opacity:.025;pointer-events:none;z-index:0}
.contact-sheet>:not(script){position:relative;z-index:1}
.contact-group{padding:0;margin:0}
.contact-group-heading{margin:0 0 24px}
.contact-group-heading>span{display:block;color:var(--blue);font:600 12px/1.5 Arial,sans-serif;letter-spacing:.07em;margin-bottom:5px}
.contact-group-heading h2{font:600 24px/1.5 ContactMincho,'Yu Mincho','Hiragino Mincho ProN',serif;margin:0;letter-spacing:.02em}
.contact-personal{border-top:1px solid var(--line);padding-top:27px;margin-top:29px}
.contact-type{border:0;padding:0;margin:0 0 25px;min-width:0}
.contact-type legend{font-size:15px;font-weight:600;line-height:1.6;margin-bottom:11px;padding:0}
.contact-type-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-type-option{position:relative;display:flex;align-items:center;gap:10px;padding:13px 14px;min-height:52px;border:1px solid #d2d6e0;border-radius:3px;background:#fff;cursor:pointer;color:var(--ink);font-size:14px;line-height:1.6;letter-spacing:0}
.contact-type-option input{appearance:auto;accent-color:var(--blue);width:18px;height:18px;margin:0;flex-shrink:0}
.contact-type-option>span>span{display:inline-block}
.contact-type-option:has(input:checked){border-color:var(--blue);background:#f3f2ff}
.contact-type-option:hover{border-color:#7975ee}
.contact-type-option:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:3px}
.contact-page .required,.contact-page .optional{display:inline-block;font-size:11px;font-weight:500;line-height:1.5;padding:2px 6px;margin-left:7px;border-radius:2px;vertical-align:middle;letter-spacing:0}
.contact-page .required{color:var(--blue);background:#f0efff}
.contact-page .optional{color:#626876;background:#f2f3f6}
.contact-page .form-field{margin:0 0 22px;min-width:0}
.contact-page .form-field>label{display:block;margin:0 0 9px;font-size:15px;font-weight:600;line-height:1.6}
.contact-page .form-field :is(input,select,textarea){display:block;width:100%;min-height:52px;padding:12px 15px;background:#fff;color:var(--ink);border:1px solid #d2d6e0;border-radius:3px;font:inherit;font-size:16px;line-height:1.7;letter-spacing:0;box-shadow:none}
.contact-page .form-field select{padding-right:30px}
.contact-page .form-field textarea{min-height:150px;resize:vertical}
.contact-page .form-field :is(input,textarea)::placeholder{color:#7c8595;opacity:1;font-size:14px}
.contact-page .form-field :is(input,select,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.contact-page .form-field [aria-invalid=true]{border-color:#b82c2c}
.contact-page .form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.contact-page .field-help{font-size:13px;color:#606775;line-height:1.75;margin:8px 0 0;overflow-wrap:anywhere}
.contact-message-field .field-help{margin:-1px 0 10px}
.contact-page .field-error{font-size:13px;line-height:1.7;margin:8px 0 0;color:#a62a2a}
.contact-page .field-error:empty{display:none}
.contact-message-field.form-field,.contact-personal>.form-field:last-child{margin-bottom:0}
.contact-options{margin-top:27px;border:1px solid #dce0e7;border-radius:3px;background:#fff}
.contact-options>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;min-height:54px;font-size:14px;font-weight:600;cursor:pointer;line-height:1.8}
.contact-options>summary::-webkit-details-marker{display:none}
.contact-options>summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.contact-disclosure-mark{width:18px;height:18px;position:relative;flex-shrink:0}
.contact-disclosure-mark:before,.contact-disclosure-mark:after{content:'';position:absolute;background:currentColor;inset:8px 2px auto;height:1px}
.contact-disclosure-mark:after{transform:rotate(90deg)}
.contact-options[open] .contact-disclosure-mark:after{transform:rotate(0)}
.contact-options[open]>summary{border-bottom:1px solid #e3e6ed}
.contact-options-fields{padding:18px 20px 22px}
.contact-options-fields>.field-help:first-child{margin:0 0 20px}
.contact-options-fields>.form-field:last-child{margin-bottom:0}
.contact-submit-area{padding-top:23px}
.contact-page .consent{font-size:14px;line-height:1.85;gap:11px;align-items:flex-start}
.contact-page .consent input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--blue)}
.contact-page .consent a{text-underline-offset:4px}
.contact-page .button{min-height:54px;font-size:15px;font-weight:500;line-height:1.6;padding:14px 22px;border-radius:40px}
.contact-page .button.primary{color:#fff;background:var(--ink);border-color:var(--ink)}
.contact-page .button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.contact-page .form-submit{margin-top:24px;display:flex;align-items:center;justify-content:center;position:relative;gap:20px;width:100%}
.contact-page .form-submit svg{position:absolute;right:22px;width:20px;height:20px}
.contact-page .form-submit:disabled{opacity:.5;cursor:wait}
.contact-page .form-submit+.center-note{font-size:12px;margin:10px 0 0;color:#606775;line-height:1.7}
.contact-context:has(>:not([hidden])){margin-bottom:26px}
.contact-page #selected-plan{background:#f4f3ff;border-left:2px solid var(--blue);padding:13px 15px;margin:0 0 12px;font-size:13px;line-height:1.9}
.contact-selection{display:flex;gap:18px;align-items:center;justify-content:space-between;background:#f7f7fa;border:1px solid #dedfea;padding:13px 16px;margin-bottom:12px}
.contact-selection span{display:block;font-size:12px;color:#626876;margin-bottom:3px}
.contact-selection strong{display:block;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.contact-selection a{display:inline-block;font-size:12px;color:var(--blue);margin-top:4px;border-bottom:1px solid #bdbbf6}
.contact-selection button{flex:0 0 40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.contact-selection button svg{width:18px;height:18px}
.contact-page #contact-status{font-size:14px;line-height:1.8;background:#f3f2ff;border-color:var(--blue);padding:14px 17px;scroll-margin-top:120px}
.contact-page #contact-review{padding:0;background:none;margin:0;scroll-margin-top:120px}
.contact-page #contact-review h2,.contact-page #contact-success h2{font:600 28px/1.6 ContactMincho,'Yu Mincho','Hiragino Mincho ProN',serif}
.contact-page #contact-review>p:not(.contact-eyebrow){font-size:14px;color:#525764;line-height:1.85;margin:12px 0 22px}
.contact-page #contact-review dl>div{padding:17px 0}
.contact-page #contact-review dt{font-size:13px;color:#626876}
.contact-page #contact-review dd{font-size:16px;line-height:1.85;margin-top:7px}
.contact-page #contact-review .button{margin-top:22px}
.contact-page #contact-success{padding:15px 0 25px;background:none;scroll-margin-top:120px}
.contact-page #contact-success p{font-size:15px;line-height:1.9}
.contact-page #contact-success .contact-eyebrow{font-size:12px;color:var(--blue)}
.contact-afterword{text-align:center;margin:24px auto 0;font-size:14px;line-height:1.9;max-width:820px;color:#525764}
.contact-afterword>p{margin:0 0 8px}
.contact-afterword>a{color:var(--blue);border-bottom:1px solid #bdbbf6;display:inline-block;font-size:13px}
.contact-afterword .contact-window{font-size:12px;margin-top:14px;color:#626876}
.contact-page .site-footer{background:#f6f5f2;border-top:1px solid #d9dbe2}
/* A brief entrance only; form controls remain still once the page is open. */
@media(prefers-reduced-motion:no-preference){
 .contact-intro>*{animation:contact-text-rise 620ms cubic-bezier(.22,1,.36,1) backwards}
 .contact-intro h1{animation-delay:60ms}
 .contact-intro-copy{animation-delay:130ms}
 .contact-response{animation-delay:190ms}
 .contact-sheet{animation:contact-paper-rise 650ms 220ms cubic-bezier(.22,1,.36,1) backwards}
 .contact-sheet:focus-within{animation:none}
}
@keyframes contact-text-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes contact-paper-rise{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
 .contact-main{width:calc(100% - 36px);padding:23px 0 40px}
 .contact-intro{margin-bottom:23px}
 .contact-eyebrow{font-size:12px;margin-bottom:13px}
 .contact-intro h1{font-size:30px;line-height:1.6;letter-spacing:0;margin-bottom:13px}
 .contact-intro-copy{font-size:14px;line-height:1.9;max-width:340px;margin:auto;text-wrap:pretty}
 .contact-intro-copy br{display:none}
 .contact-response{font-size:12px;line-height:1.8;margin-top:10px}
 .contact-sheet{padding:25px 20px 24px}
 .contact-group-heading{margin-bottom:18px}
 .contact-group-heading h2{font-size:22px}
 .contact-type legend,.contact-page .form-field>label{font-size:14px}
 .contact-type-options{gap:8px}
 .contact-type-option{padding:10px 9px;gap:7px;min-height:60px;font-size:12px}
 .contact-type-option input{width:16px;height:16px}
 .contact-page .form-row{grid-template-columns:1fr;gap:0}
 .contact-personal{margin-top:24px;padding-top:23px}
 .contact-page .form-field{margin-bottom:20px}
 .contact-message-field.form-field,.contact-personal>.form-field:last-child{margin-bottom:0}
 .contact-options>summary{padding:12px 11px;font-size:13px}
 .contact-options>summary .optional{display:block;width:max-content;margin:4px 0 0}
 .contact-options-fields{padding:18px 12px}
 .contact-page .consent{font-size:13px}
 .contact-page .form-submit{font-size:14px;min-height:54px;padding-right:35px}
 .contact-page .form-submit svg{right:15px;width:18px}
 .contact-page .contact-actions{flex-direction:column;gap:12px}
 .contact-page .contact-actions .button{flex:0 0 auto;width:100%;margin-top:0!important}
 .contact-page .contact-actions{margin-top:24px}
 .contact-page #contact-review h2,.contact-page #contact-success h2{font-size:24px}
 .contact-afterword{font-size:13px;margin-top:22px}
}
@media(max-width:350px){.contact-main{width:calc(100% - 24px)}.contact-sheet{padding-left:15px;padding-right:15px}.contact-type-option{font-size:12px;padding:9px 7px;gap:6px}.contact-intro h1{font-size:27px}}
@media(forced-colors:active){.contact-type-option:has(input:checked){outline:2px solid Highlight}.contact-sheet:before,.contact-sheet:after{display:none}}
