.contact-form-area{container-type:inline-size}
.wf-upload{position:absolute;left:13.4%;top:62.6%;width:48%;height:7%;z-index:25;box-sizing:border-box;background:#fff;color:#503897;font:1cqw/1.5 "Yu Gothic",Meiryo,sans-serif;padding:.25cqw .3cqw;text-align:left}
.wf-upload-row{display:flex;gap:.65em;align-items:center;flex-wrap:wrap}
.wf-upload label,.wf-upload button{font:inherit;border:1px solid #bdaacc;border-radius:5px;background:#f6f1fb;color:#503897;padding:.35em .65em;cursor:pointer;display:inline-block;margin:0}
.wf-upload p{margin:.25em 0 0;font-size:.92em;line-height:1.5}
.wf-upload button[hidden]{display:none!important}
.safiora-form .wf-upload input[type=file],.wf-trap{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap;padding:0!important;border:0!important}
.wf-upload label:has(input:focus-visible){outline:3px solid #8060ad;outline-offset:3px}
.safiora-form input:focus-visible,.safiora-form select:focus-visible,.safiora-form textarea:focus-visible,.cf-submit:focus-visible{outline:2px solid #8060ad;outline-offset:2px}
.cf-submit:disabled{cursor:wait;background:rgba(255,255,255,.45)}
#contact-progress{position:absolute;top:83.1%;left:8%;width:54%;margin:0;text-align:center;font:1cqw/1.5 Meiryo,sans-serif;color:#654192;z-index:25}
.wf-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:620px;max-height:85dvh;overflow:auto;padding:24px;border:1px solid #d8cbe7;border-radius:16px;background:#fcfaff;color:#432e5c;font:16px/1.8 "Yu Gothic",Meiryo,sans-serif;text-align:left}
.wf-dialog::backdrop{background:rgba(38,22,57,.5)}
.wf-dialog h2{margin:0 0 14px;padding:0;background:none;color:#654192;font-size:22px;line-height:1.6}
.wf-dialog p{white-space:pre-line;overflow-wrap:anywhere;margin:8px 0 18px}
.wf-dialog button{font:inherit;color:#654192;background:#fff;border:1px solid #bdaacc;border-radius:8px;padding:8px 16px;cursor:pointer}
.wf-dialog .wf-dialog-close{background:#8060ad;color:white;display:block;margin:18px 0 0 auto}
#photo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;padding:0;list-style:none;margin:12px 0}
#photo-list img{display:block;width:100%;height:150px;object-fit:contain;border-radius:8px;background:#eee8f4}
#photo-list p{font-size:13px;margin:4px 0 8px}
#photo-list button{font-size:13px;padding:6px}
@media(max-width:600px){
 .wf-upload{position:static;width:100%;height:auto;padding:16px 0;margin-top:12px;border-block:1px solid #e7dff0;font-size:14px;background:transparent}
 .wf-upload-row{align-items:flex-start;gap:10px}
 .safiora-form .wf-upload button{font-size:14px!important;width:auto!important;padding:6px 10px!important;min-height:40px}
 .wf-upload label{padding:8px 10px;min-height:40px;box-sizing:border-box}
 .wf-upload p{font-size:13px;margin-top:10px}
 #photo-summary{padding:8px 0}
 #contact-progress{position:static;width:auto;font-size:13px;margin:10px 0 0}
 .contact-form-area .wf-trap{display:none!important}
 .wf-dialog{padding:20px}
 .wf-dialog h2{font-size:20px}
 .safiora-form:has(.cf-submit:disabled) .cf-submit{opacity:.6!important}
}
/* Align real controls with the five frames in the original 1536 x 1024 artwork. */
@media(min-width:601px){
 .contact-form-area .safiora-form :is(.cf-name,.cf-email,.cf-category,.cf-subject,.cf-message){left:20.572916667%;width:40.755208333%;box-sizing:border-box;margin:0;padding:0 .7cqw;border:1px solid transparent;border-radius:2px;background:transparent;font-size:clamp(12px,1.25cqw,20px);line-height:1.4;z-index:3}
 .contact-form-area .safiora-form .cf-name{top:32.03125%;height:3.61328125%}
 .contact-form-area .safiora-form .cf-email{top:37.40234375%;height:3.61328125%}
 .contact-form-area .safiora-form .cf-category{top:42.67578125%;height:3.7109375%}
 .contact-form-area .safiora-form .cf-subject{top:48.046875%;height:3.7109375%}
 .contact-form-area .safiora-form .cf-message{top:53.515625%;height:7.6171875%;padding:.35cqw .7cqw;resize:none}
 .contact-form-area .safiora-form :is(.cf-name,.cf-email,.cf-category,.cf-subject,.cf-message):focus-visible{outline:2px solid #8060ad;outline-offset:-2px}
}
