/* One invitation, unfolding from any contact button. */
.contact-trigger{display:inline-flex;align-items:center;justify-content:space-between;justify-self:start;align-self:start;flex:none;box-sizing:border-box;width:max-content;max-width:100%;height:54px;white-space:nowrap;gap:36px;min-height:54px;padding:15px 22px;border:1px solid currentColor;background:#f4f6f3;color:#0c1418;font:600 16px/1.3 "Manrope",Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,translate .2s}
.contact-arrow{display:block;flex:none;width:18px;height:18px}
.contact-trigger:hover{background:#0c1418;color:#fff;translate:0 -2px}
.contact-trigger:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px}
.contact .contact-action{grid-column:1/-1;padding:20px 0 32px}
.cta-band .contact-trigger{grid-column:8/13;align-self:end;margin-top:30px}
.letter .contact-trigger{margin-top:32px;background:#e8b056;color:#0c1418;border-color:#e8b056}
.contact-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:clamp(12px,3vw,40px);border:0;background:transparent;color:#0c1418;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;box-sizing:border-box}
.contact-dialog[open]{display:flex;align-items:safe center;justify-content:center}
.contact-dialog::backdrop{background:rgba(12,9,7,.9);backdrop-filter:blur(9px);animation:contact-dim .9s ease both}
.contact-dialog.is-closing::backdrop{animation:contact-undim .85s ease both}
.contact-magic{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.contact-paper{position:relative;z-index:2;flex:0 1 720px;width:100%;margin:auto;background:#f4f6f3;box-shadow:0 35px 120px #0008,0 0 90px #e8b05629;transform-origin:center;isolation:isolate;font-family:"Manrope",Arial,sans-serif}
.contact-sheet{position:relative;padding:clamp(28px,5vw,60px)}
.contact-close{position:absolute;z-index:4;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;color:#0c1418;font:300 32px/1 Arial,sans-serif;cursor:pointer}
.contact-close:hover{background:#e5e9e5}
.contact-close:focus-visible,.contact-send:focus-visible{outline:2px solid #a85e20;outline-offset:3px}
#contact-title:focus{outline:none}
.contact-sheet h2{max-width:13ch;margin:0 20px 18px 0;color:#0c1418;font:500 clamp(34px,4.5vw,53px)/1.02 "Manrope",Arial,sans-serif;letter-spacing:-.055em;text-transform:none}
.contact-sheet .contact-intro{max-width:42ch;margin:0 0 28px;color:#526067;font:400 15px/1.6 "Manrope",Arial,sans-serif}
.contact-form{margin:0}
.contact-fields > label:first-child{grid-column:1/-1}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none}
.contact-form input,.contact-form textarea{box-sizing:border-box;display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #89928e;border-radius:0;background:#e5e9e580;color:#0c1418;padding:12px;font:400 16px/1.5 "Manrope",Arial,sans-serif;outline-offset:2px}
.contact-form textarea{resize:vertical;min-height:115px;max-height:320px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #a85e20;border-color:transparent}
.contact-form textarea::placeholder{color:#68726d}
.contact-form .contact-privacy{max-width:50ch;margin:0 0 22px;font:400 12px/1.6 "Manrope",Arial,sans-serif;color:#526067}.contact-form .contact-privacy a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.contact-send-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.contact-send{display:inline-flex;align-items:center;gap:30px;border:1px solid #e8b056;background:#e8b056;color:#0c1418;min-height:50px;padding:14px 20px;font:600 15px/1.4 "Manrope",Arial,sans-serif;cursor:pointer}
.contact-send:hover{background:#d89b3a;border-color:#d89b3a}
.contact-send:disabled{opacity:.65;cursor:wait}
.contact-send-row a{font-size:12px;color:#526067;text-decoration:underline;text-underline-offset:4px}
.contact-sheet .contact-status{margin:18px 0 0;max-width:50ch;font:400 14px/1.5 "Manrope",Arial,sans-serif}
.contact-status:empty{display:none}
.contact-status.is-error{color:#972e27}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-form[hidden]{display:none}
@keyframes contact-dim{from{background:transparent}to{background:rgba(12,9,7,.9)}}
@keyframes contact-undim{to{background:transparent}}
@media(max-width:820px){.cta-band .contact-trigger{grid-column:1/-1;align-self:start}}
@media(max-width:520px){.contact-fields{grid-template-columns:1fr;gap:0}.contact-sheet{padding-top:54px}.contact-sheet h2{font-size:36px}.hero-actions{gap:16px}.contact-trigger{font-size:15px;gap:24px}}
@media(prefers-reduced-motion:reduce){.contact-dialog::backdrop,.contact-dialog.is-closing::backdrop,.contact-sheet{animation:none}.contact-trigger{transition:none}}
