/* MESS contact and merchandise preparation / shared colors and local assets. */
.contact-section{font-size:16px;padding-bottom:35px}
.contact-section .section-kicker{font-size:12px;line-height:1.4;gap:24px}
.contact-section .section-kicker>span:last-child{max-width:none}
.contact-section h2{font-size:clamp(48px,10vw,150px);font-weight:800;margin-bottom:34px}
.contact-layout{display:block;max-width:960px}
.contact-form-panel{min-width:0}
.contact-pending{font-size:14px;line-height:1.5;margin:0 0 25px;padding:16px 18px;background:var(--paper);border:1.5px solid var(--ink)}
.contact-fields-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.contact-field{display:flex;flex-direction:column;gap:9px;margin:0 0 21px;min-width:0}
.contact-field label{font-size:14px;font-weight:600;line-height:1.4}
.contact-field input,.contact-field select,.contact-field textarea{font:400 16px/1.4 var(--body);color:var(--ink);background:var(--paper);width:100%;min-width:0;border:1.5px solid var(--ink);border-radius:0;padding:13px 14px;box-shadow:none}
.contact-field input,.contact-field select{min-height:51px}
.contact-field textarea{min-height:215px;resize:vertical}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:2px solid var(--ink);outline-offset:3px}
.contact-field .contact-field-note{font-size:12px;line-height:1.5;margin:1px 0 0;color:var(--ink)}
.contact-antispam{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-privacy{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.5;margin:3px 0 25px;cursor:pointer;min-width:0}
.contact-privacy input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;accent-color:var(--ink)}
.contact-privacy>span{min-width:0}
.contact-privacy a{border-bottom:1px solid currentColor;text-underline-offset:3px}
.contact-privacy a:hover{text-decoration:underline}
.contact-send{display:flex;align-items:center;justify-content:space-between;gap:30px;font:600 16px/1.3 var(--body);min-height:53px;width:100%;padding:14px 18px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:0;cursor:pointer}
.contact-send>span{font-size:26px;font-weight:400;line-height:1}
.contact-send:disabled{background:#dedfc9;color:#44463b;border-color:#747569;cursor:not-allowed;opacity:1}
.contact-result{min-height:22px;font-size:14px;line-height:1.5;margin:15px 0 0;overflow-wrap:anywhere}
.contact-details{min-width:0;margin-top:25px;padding-top:22px;border-top:1px solid #14131235}
.contact-direct{display:flex;align-items:baseline;gap:8px 18px;flex-wrap:wrap;margin:0}
.contact-email-label{font-size:12px;line-height:1.5;font-weight:600}
.contact-details .contact-address{font-size:17px;line-height:1.5;overflow-wrap:anywhere}
.contact-mail-status{font-size:12px;line-height:1.5;margin:5px 0 13px}
.contact-legal{font-size:13px;line-height:1.5;max-width:680px}
.contact-legal summary{display:list-item;width:fit-content;max-width:100%;padding:5px 0;font-size:13px;font-weight:600;cursor:pointer}
.contact-legal summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.contact-legal-body{padding:9px 0 0}
.contact-entity{font-size:13px;line-height:1.5;font-weight:400;margin:0 0 12px;overflow-wrap:anywhere}
.contact-details dl{display:flex;flex-wrap:wrap;gap:12px 35px;margin:0}
.contact-details dl>div{min-width:0}
.contact-details dt{font-size:12px;font-weight:600;margin:0 0 3px;line-height:1.5}
.contact-details dd{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.contact-details address{font-style:normal}
.contact-section .contact-bottom{font-size:12px;line-height:1.5;padding-top:45px;align-items:center}
.contact-section .contact-bottom>span{max-width:none}
.contact-section .contact-bottom>a{white-space:nowrap}

/* Merchandise uses an illustration only, with the unchanged official PNG separate. */
.merch-prep-scene{margin:0;position:relative;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);padding:30px clamp(18px,4vw,60px) 37px;box-shadow:6px 6px 0 var(--purple);text-align:center;overflow:clip;isolation:isolate}
.merch-prep-mark{width:clamp(96px,12vw,150px);margin:0 auto 6px}
.merch-prep-mark img{filter:brightness(0)}
.merch-prep-illustration{display:block;width:min(100%,680px);height:auto;aspect-ratio:720/460;margin:0 auto;object-fit:contain}
.merch-prep-scene figcaption{display:block;padding:0;position:relative;max-width:700px;margin:0 auto}
.merch-prep-status{display:inline-block;font-size:12px;line-height:1.4;font-weight:600;background:var(--acid);border:1px solid var(--ink);padding:8px 12px;transform:rotate(-2deg)}
.merch-prep-scene h3{font-family:var(--display);font-weight:800;font-size:clamp(31px,5.5vw,70px);line-height:1;letter-spacing:-.055em;margin:21px 0 0}

@media(max-width:850px){.contact-section .section-kicker{font-size:12px}}
@media(max-width:600px){
 .contact-section{padding-top:43px;padding-bottom:30px}
 .contact-section h2{font-size:10.4vw;white-space:nowrap;margin-bottom:27px}
 .contact-section .section-kicker{font-size:12px;gap:17px;align-items:flex-start}
 .contact-section .section-kicker>span:last-child{max-width:160px}
 .contact-fields-row{grid-template-columns:minmax(0,1fr);gap:0}
 .contact-pending{font-size:14px;padding:14px 15px;margin-bottom:24px}
 .contact-field{gap:8px;margin-bottom:20px}
 .contact-field textarea{min-height:224px}
 .contact-details{padding-top:19px;margin-top:21px}
 .contact-direct{gap:4px 12px}
 .contact-details .contact-address{font-size:16px}
 .contact-details dl{gap:12px 24px}
 .contact-section .contact-bottom{font-size:12px;gap:17px;align-items:flex-start;flex-direction:column;padding-top:34px}
 .contact-section .contact-bottom>span{max-width:100%}
 .merch-prep-scene{padding:23px 13px 29px;box-shadow:4px 4px 0 var(--purple)}
 .merch-prep-mark{width:100px;margin-bottom:12px}
 .merch-prep-status{font-size:12px;padding:7px 10px}
 .merch-prep-scene h3{font-size:10vw;margin-top:19px}
}
@media(prefers-reduced-motion:reduce){.contact-section *,.merch-prep-scene *{scroll-behavior:auto}}

.merch-prep-illustration{animation:merch-drift 7s ease-in-out infinite;transform-origin:50% 55%}
.merch-prep-copy{font-size:16px;line-height:1.5;margin:20px 0}
.merch-prep-actions{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap;margin-top:25px}
.merch-play,.merch-motion{min-height:48px;font:600 14px/1.3 var(--body);padding:13px 20px;border:1.5px solid var(--ink);cursor:pointer}
.merch-play{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--purple);display:flex;gap:25px;align-items:center}.merch-play>span{font-size:23px}
.merch-motion{background:transparent;color:var(--ink);font-size:12px}.merch-motion:disabled{cursor:default}
.merch-prep-scene[data-animation='paused'] .merch-prep-illustration,.cg-doc-hidden .merch-prep-illustration{animation-play-state:paused}
@keyframes merch-drift{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.merch-prep-illustration{animation:none!important}}
