.application-section{--group-copy-size:16px;position:relative;isolation:isolate;padding:0;background:#000}
.application-backdrop{position:absolute;bottom:0;left:0;width:100%;z-index:-2;pointer-events:none}
.application-section::before{content:"";position:absolute;inset:0 0 auto;height:clamp(80px,12vw,170px);z-index:-1;pointer-events:none;background:linear-gradient(#000,transparent)}
.application-backdrop img{display:block;width:100%;height:auto}
.group-form-panel{position:relative;width:min(760px,76%);margin:0 auto;padding:30px 42px 24px;border:1px solid #bea05f70;border-radius:52px;background:linear-gradient(145deg,rgba(13,15,18,.553),rgba(6,8,11,.504));backdrop-filter:blur(14px) saturate(.7);-webkit-backdrop-filter:blur(14px) saturate(.7);box-shadow:inset 0 1px 0 #ffffff0b,0 16px 48px #00000035;font-family:"Source Roboto",Roboto,sans-serif;font-weight:300;scroll-margin-top:12px}
.group-form-panel:focus{outline:none}.group-form-panel:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.group-form-heading{text-align:center;margin-bottom:18px}
.group-form-heading h2{font-family:"Source Roboto",Roboto,sans-serif;font-weight:300;font-size:var(--group-copy-size);line-height:1.35;letter-spacing:.03em;color:var(--form-ink);margin:0}
.group-form-panel .form-grid{grid-template-columns:1fr 1fr;gap:14px 24px}
.group-form-panel .optional-fields{padding:0;margin-top:14px;gap:14px 24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.group-form-panel .field-comment{grid-column:1/-1}
.group-form-panel .field label,.group-form-panel .field input,.group-form-panel .field textarea,.group-form-panel .field select,.group-form-panel .field-error,.group-form-panel .form-summary,.group-form-panel .submit-button,.form-contact a{font-family:"Source Roboto",Roboto,sans-serif;font-size:var(--group-copy-size);font-weight:300;line-height:1.35}
.group-form-panel .field label{font-size:14px;flex-wrap:wrap;gap:.3em}
.group-form-panel .optional{font-family:inherit;font-size:.75em;font-weight:300;opacity:.8}
.group-form-panel .field input,.group-form-panel .field select{height:38px;min-height:38px}
.group-form-panel .field input,.group-form-panel .field select,.group-form-panel .field textarea{color:var(--form-ink);padding:6px 0}
.group-form-panel .field textarea{height:58px;min-height:58px;max-height:160px}
.group-form-panel .select-chevron{top:12px}
.group-form-panel .consent-block{margin-top:12px}
.group-form-panel .consent-row{min-height:36px;align-items:center;justify-content:center;gap:10px}
.group-form-panel .consent-row label{font-family:inherit;font-size:11px;line-height:1.3;padding-block:4px}
.group-form-panel .consent-row input{margin:0;width:18px;height:18px}
.group-form-panel .field-error,.group-form-panel .form-summary{font-size:12px;line-height:1.3;margin-top:4px}
.group-form-panel .submit-button{display:flex;width:100%;max-width:320px;min-width:0;min-height:44px;padding:8px 20px;margin:12px auto 0;justify-content:center;letter-spacing:.02em;font-weight:500;color:var(--form-ink)}
.group-form-panel .submit-button .icon{display:none}
.form-contact{margin-top:8px;display:flex;justify-content:center}
.form-contact a{display:inline-flex;align-items:center;min-height:32px;white-space:nowrap;letter-spacing:.03em;color:var(--form-ink)}
.form-contact a:hover{color:var(--gold)}
.site-footer{position:relative;display:block;width:100%;max-width:none;min-height:0;margin:0;padding:0}
.footer-art,.footer-art img{display:block;width:100%;height:auto}
.footer-art{aspect-ratio:7739/1182}
@media(max-width:700px) and (orientation:portrait){
 .application-section{--group-copy-size:16px}
 .group-form-panel{width:84%;max-width:440px;max-height:calc(100svh - 24px);padding:18px 20px 14px;border-radius:32px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#bea05f70 transparent}
 .group-form-heading{margin-bottom:12px}
 .group-form-panel .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px}
 .group-form-panel .form-grid>.field:nth-child(n+3)>label{min-height:2.6em}
 .group-form-panel .optional-fields{margin-top:10px;gap:10px 16px}
 .group-form-panel .optional-fields>.field:not(.field-comment)>label{display:flex;flex-direction:column;align-items:flex-start;min-height:2.6em}
 .group-form-panel .optional-fields .optional{margin-left:0}
 .group-form-panel .field label{font-size:13px;column-gap:.25em;row-gap:0;line-height:1.3}
 .group-form-panel .optional{margin-left:auto}
 .group-form-panel .field input,.group-form-panel .field select{height:36px;min-height:36px}
 .group-form-panel .field textarea{height:52px;min-height:52px;resize:none}
 .group-form-panel .consent-block{margin-top:8px}
 .group-form-panel .consent-row{justify-content:flex-start;min-height:34px}
 .group-form-panel .consent-row label{font-size:10px}
 .group-form-panel .submit-button{max-width:none;min-height:42px;margin-top:8px;letter-spacing:0}
 .form-contact{margin-top:6px}
 .form-contact a{min-height:28px}
 .footer-art{aspect-ratio:1290/438}
}
/* Keep every field visible on short portrait screens; extra validation can scroll inside the card. */
@media(max-width:700px) and (orientation:portrait) and (max-height:700px){
 .group-form-panel{padding:14px 16px 12px;border-radius:28px}
 .group-form-heading{margin-bottom:8px}
 .group-form-heading h2{font-size:15px}
 .group-form-panel .form-grid{gap:6px 14px}
 .group-form-panel .optional-fields{margin-top:6px;gap:6px 14px}
 .group-form-panel .field label{font-size:11.5px;line-height:1.2}
 .group-form-panel .form-grid>.field:nth-child(n+3)>label{min-height:2.4em}
 .group-form-panel .field input,.group-form-panel .field select{height:32px;min-height:32px;padding:4px 0}
 .group-form-panel .field textarea{height:48px;min-height:48px;padding:4px 0}
 .group-form-panel .select-chevron{top:9px}
 .group-form-panel .consent-block{margin-top:6px}
 .group-form-panel .consent-row{min-height:30px}
 .group-form-panel .submit-button{min-height:38px;margin-top:6px}
 .form-contact{margin-top:4px}
 .form-contact a{min-height:26px;font-size:15px}
}
/* Swap only the contents. The original form still determines the panel geometry. */
.group-form-panel.is-success>form,.group-form-panel.is-success>.form-contact{visibility:hidden;pointer-events:none}
.request-result{position:absolute;inset:0;display:grid;place-items:center;padding:32px;text-align:center}
.request-result:focus{outline:none}
.request-result-art{position:relative;width:min(calc(var(--description-copy-size)*8.055),260px);max-width:100%;aspect-ratio:1558/2989}
.request-result-art>img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
/* Center the painted bounds of each part of the supplied, unmodified PNG. */
.result-title-art{clip-path:inset(0 0 83.271997%);transform:translateX(-1.508344%)}
.result-followup-art{clip-path:inset(16.728003% 0 63.198394%);transform:translateX(.128370%)}
.result-mermaid-art{clip-path:inset(36.801606% 0 0);transform:translateX(1.026958%)}

.dates-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:38px;padding:6px 0;border:0;border-bottom:1px solid #ffffff4d;border-radius:0;background:transparent;color:#a7a8a2;font-family:inherit;font-size:var(--group-copy-size);font-weight:300;text-align:left;cursor:pointer}
.dates-trigger.has-dates{color:var(--form-ink)}
.dates-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dates-trigger svg{flex:none}
.dates-compact{display:none}
.dates-trigger:hover,.dates-trigger[aria-expanded="true"]{border-bottom-color:var(--gold)}
.dates-picker{position:fixed;inset:auto;margin:0;width:min(320px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:18px;border:1px solid #bea05f70;border-radius:20px;background:#101216;box-shadow:0 18px 60px #000b;color:var(--form-ink);font-family:"Source Roboto",Roboto,sans-serif;overflow:auto;scrollbar-width:thin;scrollbar-color:#bea05f70 transparent}
.dates-picker h2{font-size:16px;line-height:1.4;font-weight:400;margin:0}
.dates-period{font-size:12px;line-height:1.4;color:#c0c2c1;margin-top:4px}
.dates-month-nav{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin:12px 0 6px}
.dates-month-nav h3{font-size:15px;font-weight:400;text-align:center;text-transform:capitalize;margin:0}
.dates-month-nav button{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--gold);font-size:28px;line-height:1;cursor:pointer}
.dates-picker button:disabled{opacity:.25;cursor:default}
.dates-calendar{width:100%;table-layout:fixed;border-spacing:0;border-collapse:collapse}
.dates-calendar th{height:26px;font-size:11px;font-weight:300;color:#a7a8a2;text-align:center}
.dates-calendar td{padding:1px;text-align:center}
.dates-calendar button{display:block;width:100%;height:34px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--form-ink);font-size:14px;font-weight:300;cursor:pointer}
.dates-calendar button:not(:disabled):hover,.dates-month-nav button:not(:disabled):hover{background:#ffffff12}
.dates-calendar button[aria-pressed="true"]{border-color:var(--gold);background:#d8bd8529;color:var(--gold)}
.dates-picker button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.dates-status{min-height:34px;margin:10px 0 4px;color:#c0c2c1;font-size:12px;line-height:1.4}
.dates-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dates-actions button{min-height:38px;padding:6px 14px;border:1px solid #ffffff33;border-radius:999px;background:transparent;color:var(--form-ink);font-size:13px;cursor:pointer}
.dates-actions button:hover{border-color:var(--gold);color:var(--gold)}
#dates-done{border-color:var(--gold);color:var(--gold)}
@media(max-width:700px) and (orientation:portrait){.dates-trigger{height:36px}.dates-trigger #dates-value{display:none}.dates-compact{display:block}}
@media(max-width:700px) and (orientation:portrait) and (max-height:700px){.dates-trigger{height:32px}}
