:root{color-scheme:light;--font-ui:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;--ink:#263337;--muted:#596963;--line:#d9e0d9;--green:#244f45;--accent:var(--green);--paper:#faf9f6;--surface:#fff;--control-border:#7b8c80;--focus:#426bba;--red:#9b392f}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--font-ui)}
.inquiry-shell{max-width:840px;margin:auto;padding:40px 28px}
.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--muted);margin:0 0 12px;font-weight:600}
h1{font-size:clamp(26px,4vw,34px);font-weight:600;line-height:1.5;margin:0 0 20px;letter-spacing:.02em}
h2{font-size:25px;font-weight:600;line-height:1.6}
.intro{color:var(--muted);margin-bottom:30px}
.required-note{font-size:13px;color:var(--muted);margin-bottom:22px}
label{display:block;font-size:15px;font-weight:600;margin:0 0 24px}
label>span:not(.check>span),.required-note>span{font-size:12px;font-weight:600;background:#e3eee6;color:var(--green);padding:3px 7px;border-radius:4px;margin-left:8px}
input:not([type=checkbox]),textarea{font:inherit;font-size:16px;display:block;width:100%;margin-top:9px;padding:13px 14px;color:var(--ink);background:var(--surface);border:1px solid var(--control-border);border-radius:6px;min-height:50px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1;font-weight:400}
textarea{resize:vertical;line-height:1.8}
input:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
input:disabled,textarea:disabled{background:#edf0ec;color:var(--muted);cursor:not-allowed}
small{display:block;font-size:13px;font-weight:400;color:var(--muted);line-height:1.8;margin-top:7px}
.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}
details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 26px}
summary{cursor:pointer;padding:16px 0;font-size:15px;min-height:48px;line-height:1.7}
.details-grid{padding-top:12px}
.upload{padding:20px;background:#edf3ed;border:1px dashed var(--control-border);border-radius:7px}
.upload input{font-size:14px;min-height:46px;background:transparent;border:0;padding:8px 0;max-width:100%}
.upload input::file-selector-button{font:inherit;min-height:44px;border:1px solid var(--control-border);border-radius:5px;background:var(--surface);color:var(--green);padding:8px 12px;margin-right:10px;cursor:pointer}
output{display:block;color:var(--muted);font-size:13px;white-space:pre-line;overflow-wrap:anywhere;font-weight:400}
.consent{border-top:1px solid var(--line);padding-top:26px}
.check{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400;line-height:1.8;padding:4px 0}
.check input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:3px 0}
.check em{font-size:12px;white-space:nowrap;font-style:normal;color:var(--green);margin-left:8px;font-weight:600}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
.form-error{color:var(--red);font-size:14px;margin:16px 0;white-space:pre-line;line-height:1.8}
.form-error:not(:empty){background:#fff3ef;border-left:3px solid var(--red);border-radius:5px;padding:14px 16px}
.form-error:empty{display:none}
button{display:block;background:var(--accent);color:white;font:inherit;font-size:16px;font-weight:600;border:1px solid var(--accent);border-radius:6px;min-height:54px;padding:14px 24px;cursor:pointer;width:100%;transition:background .15s;line-height:1.6}
button:hover:not(:disabled){background:#163e34}
button:disabled{opacity:.65;cursor:wait}
button.secondary{background:#edf3ed;color:var(--green);border:1px solid var(--control-border);margin:14px 0}
button.secondary:hover:not(:disabled){background:#e3eee6}
.submission-note,.direct-contact{color:var(--muted);font-size:13px;line-height:1.9;text-align:center;margin:16px 0 0}
.direct-contact{border-top:1px solid var(--line);padding-top:26px;margin-top:30px;overflow-wrap:anywhere}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#inquiry-success{padding:24px 0 40px}
#inquiry-success p{font-size:15px;line-height:1.9}
#inquiry-success[tabindex="-1"]:focus{outline:none}
.preferences{max-width:650px;margin:10vh auto;padding:32px 24px}
.preferences p{margin:24px 0}
.preferences button{margin:32px 0}
[hidden]{display:none!important}
/* The surrounding contact page already supplies its title and introduction. */
.is-embedded body{background:transparent}
.is-embedded .inquiry-shell{padding:8px 12px 24px}
.is-embedded .inquiry-shell>.eyebrow,.is-embedded .inquiry-shell>h1,.is-embedded .inquiry-shell>.intro{display:none}
@media(max-width:560px){
 .grid{grid-template-columns:minmax(0,1fr)}
 .inquiry-shell{padding:28px 20px}
 .is-embedded .inquiry-shell{padding:8px 8px 20px}
 .intro br{display:none}
 .check{font-size:14px}
 h1{font-size:27px}
 .upload{padding:16px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){button,input,textarea{border-color:ButtonText}:focus-visible{outline-color:Highlight}}
