/* Contact pages: Figma's shared input, materials and completion layouts. */
.p-contact-layout { display: flex; flex-direction: column; align-items: center; gap: calc(64 * var(--pc-scale)); width: 83.333333%; margin-inline: auto; padding-block: calc(80 * var(--pc-scale)); }
.c-contact-panel { width: calc(998 * var(--pc-scale)); padding: calc(64 * var(--pc-scale)) calc(80 * var(--pc-scale)); background: #fff; border-radius: 4px; box-shadow: 0 0 15px rgb(216 9 47 / 10%); }
.c-contact-panel__heading { display: flex; flex-direction: column; align-items: center; gap: calc(16 * var(--pc-scale)); }
.c-contact-panel__heading h2 { font-size: 2rem; font-weight: 500; line-height: 1.6; text-align: center; }
.c-contact-panel__heading > img { width: calc(65 * var(--pc-scale)); height: 3px; }
.c-contact-panel__intro { margin-top: calc(32 * var(--pc-scale)); font-size: 1rem; line-height: 2; text-align: center; }
.c-contact-panel > .wpcf7 { margin-top: calc(48 * var(--pc-scale)); }
.c-contact-panel .c-contact-form__submit { width: calc(360 * var(--pc-scale)); height: 4.5rem; background: linear-gradient(110deg, #d8092f, #bb1634); }
.c-contact-panel .c-contact-form__submit > img { width: 24px; height: 16px; }
.c-contact-panel .c-contact-form textarea { height: 10rem; }
.c-contact-panel .c-contact-form .wpcf7-list-item > label { line-height: 1.7; }
.c-contact-panel .c-contact-form .wpcf7-spinner { display: none; }
.p-contact-section-heading { text-align: center; }
.p-contact-section-heading > span { color: #d8092f; font: 700 1rem/1.5 var(--font-latin); }
.p-contact-section-heading h2 { margin-top: calc(16 * var(--pc-scale)); font-size: 2.5rem; font-weight: 500; line-height: 1.5; }
.p-contact-section-heading p { margin-top: calc(24 * var(--pc-scale)); font-size: 1rem; line-height: 2; }
.p-contact-materials, .p-contact-partnership { width: 100%; }
.p-contact-materials__grid, .p-contact-partnership__grid { display: grid; gap: calc(24 * var(--pc-scale)); margin-top: calc(40 * var(--pc-scale)); }
.p-contact-materials__grid { grid-template-columns: repeat(3, 1fr); }
.c-material-card, .c-partnership-card { display: flex; flex-direction: column; padding: calc(24 * var(--pc-scale)); border-radius: 8px; background: #fff; box-shadow: 0 0 9.5px rgb(198 200 205 / 30%); }
.c-material-card__heading { display: flex; align-items: center; gap: calc(16 * var(--pc-scale)); }
.c-material-card__heading > img, .c-partnership-card > img { flex: 0 0 50px; width: 50px; height: 50px; }
.c-material-card h3, .c-partnership-card h3 { margin-top: calc(16 * var(--pc-scale)); font-size: 1.25rem; line-height: 1.7; }
.c-material-card__heading h3 { margin-top: 0; }
.c-material-card p, .c-partnership-card p { margin-top: calc(8 * var(--pc-scale)); font-size: 0.9375rem; line-height: 1.7; color: #4c4c4c; }
.c-material-card p { margin-bottom: calc(16 * var(--pc-scale)); }
.c-material-card__preview { aspect-ratio: 336 / 208; margin-top: auto; overflow: hidden; }
.c-material-card__preview img { width: 100%; height: auto; }
.c-material-card:focus-visible { outline-offset: 5px; }
.p-contact-partnership__grid { grid-template-columns: repeat(4, 1fr); }
.p-contact-layout--request { width: 100%; display: grid; grid-template-columns: 594fr 598fr; align-items: start; padding: calc(80 * var(--pc-scale)) calc(64 * var(--pc-scale)) calc(80 * var(--pc-scale)) calc(120 * var(--pc-scale)); }
.p-contact-layout--request .c-contact-panel { width: 100%; padding: calc(40 * var(--pc-scale)) calc(40 * var(--pc-scale)) calc(64 * var(--pc-scale)); }
.p-contact-layout--request .c-contact-panel__heading h2 { font-size: 1.5rem; font-weight: 700; }
.p-contact-layout--request .c-contact-panel__heading > img { width: calc(35 * var(--pc-scale)); }
.p-contact-layout--request .c-contact-panel__intro { margin-top: calc(16 * var(--pc-scale)); }
.p-contact-layout--request .c-contact-panel > .wpcf7 { margin-top: calc(40 * var(--pc-scale)); }
.p-contact-material { padding-top: calc(16 * var(--pc-scale)); }
.p-contact-material > h2 { border-left: 4px solid #d70a30; padding-left: calc(24 * var(--pc-scale)); font-size: 2rem; font-weight: 500; line-height: 1.6; }
.p-contact-material > h3 { margin-top: calc(32 * var(--pc-scale)); font-size: 1.5rem; line-height: 1.6; }
.p-contact-material > p { margin-top: calc(12 * var(--pc-scale)); font-size: 1rem; line-height: 2; }
.p-contact-material__preview { margin-top: calc(24 * var(--pc-scale)); }
.p-contact-material__preview img { display: block; width: 100%; height: auto; }
.p-contact-material__preview span { font-size: 0.75rem; color: #a9a9a9; }
.p-contact-material__audience { border-top: 1px solid #ccd8e5; margin-top: calc(32 * var(--pc-scale)); padding-top: calc(32 * var(--pc-scale)); }
.p-contact-material__audience h3 { font-size: 1.25rem; line-height: 1.7; color: #111; }
.p-contact-material__audience ul { margin-top: calc(8 * var(--pc-scale)); }
.p-contact-material__audience li { padding-left: 24px; font-size: 1rem; line-height: 2; background: url('../images/pages/contact-check.svg') 0 0.5em / 19px 16px no-repeat; }
.p-contact-material--360 .p-contact-material__audience li { margin-left: 24px; padding-left: 0; list-style: disc; background: none; color: #6b7280; }
.p-contact-complete { padding: calc(80 * var(--pc-scale)); text-align: center; }
.p-contact-complete h2 { font-size: 1.5rem; line-height: 1.6; }
.p-contact-complete__message { width: calc(900 * var(--pc-scale)); margin: calc(24 * var(--pc-scale)) auto 0; font-size: 1rem; line-height: 2; }
.p-contact-complete__message p + p { margin-top: 0; }
.p-contact-complete__links { display: flex; justify-content: center; flex-wrap: wrap; gap: calc(48 * var(--pc-scale)); margin-top: calc(48 * var(--pc-scale)); }
.p-contact-complete__links a { display: flex; align-items: center; justify-content: center; gap: 16px; width: 15rem; height: 4rem; padding: 16px; border: 1px solid #d70a30; border-radius: 4px; background: white; color: #d70a30; font-size: 1rem; line-height: 2; }
.p-contact-complete__links img { flex: 0 0 24px; width: 24px; height: 16px; }
.p-contact-hub.c-page-section { padding-block: calc(80 * var(--pc-scale)) calc(104 * var(--pc-scale)); }
.p-contact-hub > .l-container { width: calc(998 * var(--pc-scale)); }
.p-contact-hub__intro { line-height: 1.7; }
.p-contact-hub__main { padding: calc(56 * var(--pc-scale)) calc(40 * var(--pc-scale)); border-radius: 8px; }
.p-contact-hub__grid { grid-template-columns: repeat(2, 1fr); gap: calc(24 * var(--pc-scale)); }
.p-contact-hub__grid > div { padding: calc(40 * var(--pc-scale)) calc(32 * var(--pc-scale)); }
.p-contact-hub h3 { line-height: 1.6; }
.p-contact-hub p { line-height: 2; }
.p-contact-hub .c-button { flex-shrink: 0; width: auto; padding: 1rem 2rem; font-size: 1rem; line-height: 2; border-radius: 4px; gap: 1rem; }
.p-contact-hub .c-button::after { content: none; }
.p-contact-hub .c-button { background: #d70a30; }
.p-contact-hub .c-button--outline { background: white; }
.p-contact-hub .c-button img { width: 24px; height: 16px; }
.p-contact-recruit { display: flex; flex-wrap: wrap; position: relative; isolation: isolate; overflow: clip; width: calc(934 * var(--pc-scale)); height: auto; margin: calc(80 * var(--pc-scale)) auto 0; background: white; box-shadow: 0 0 21.5px rgb(198 200 205 / 30%); }
.p-contact-recruit__label { position: relative; flex: 0 0 calc(288 * var(--pc-scale)); padding: calc(36 * var(--pc-scale)) calc(50 * var(--pc-scale)) calc(54 * var(--pc-scale)); color: white; }
.p-contact-recruit__label::before, .p-contact-recruit__label::after { content: ''; position: absolute; top: 0; bottom: 0; width: 100%; background: url('../images/pages/contact-recruit-back.svg') center / 100% 100% no-repeat; z-index: -1; }
.p-contact-recruit__label::before { left: calc(26 * var(--pc-scale)); }
.p-contact-recruit__label::after { left: calc(-14.7 * var(--pc-scale)); background-image: url('../images/pages/contact-recruit-front.svg'); }
.p-contact-recruit__label strong { display: block; font: 700 2.25rem/1.5 var(--font-latin); white-space: nowrap; }
.p-contact-recruit__label > span { display: block; font-size: 1rem; font-weight: 700; line-height: 1.7; }
.p-contact-recruit__copy { position: relative; z-index: 1; flex: 0 1 20rem; margin-left: calc(44 * var(--pc-scale)); padding-block: calc(40 * var(--pc-scale)) calc(30 * var(--pc-scale)); }
.p-contact-recruit__copy p { font-size: 0.9375rem; font-weight: 500; line-height: 1.6; }
.p-contact-recruit__copy > span { display: flex; align-items: center; gap: 10px; width: fit-content; margin-top: calc(16 * var(--pc-scale)); padding: 5px 23px 5px 27px; border-radius: 36px; background: #d70a30; color: white; font-size: 0.8125rem; line-height: 1.6; }
.p-contact-recruit__copy > span img { width: 16px; height: 3px; }
.p-contact-recruit__photo { position: absolute; top: 0; right: 0; z-index: -2; width: 40.79%; height: calc(81px + 90 * var(--pc-scale)); object-fit: cover; object-position: center top; mask-image: linear-gradient(to right, transparent, black 20%); }
.p-contact-recruit__photo > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
@media (width < 48em) {
  .p-contact-layout { width: calc(100% - 40 * var(--sp-scale)); padding-block: calc(48 * var(--sp-scale)); gap: calc(40 * var(--sp-scale)); }
  .c-contact-panel { width: 100%; padding: calc(32 * var(--sp-scale)) calc(20 * var(--sp-scale)); }
  .c-contact-panel__heading { gap: calc(16 * var(--sp-scale)); }
  .c-contact-panel__heading h2 { font-size: 1.5rem; }
  .c-contact-panel__heading > img { width: 65px; }
  .c-contact-panel__intro { margin-top: calc(24 * var(--sp-scale)); font-size: 0.875rem; }
  .c-contact-panel > .wpcf7 { margin-top: calc(32 * var(--sp-scale)); }
  .c-contact-panel .c-contact-form__names { grid-template-columns: repeat(2, 1fr); gap: calc(12 * var(--sp-scale)); }
  .c-contact-panel .c-contact-form__names label { font-size: 0.8125rem; }
  .c-contact-panel .c-contact-form__field > label > span { margin-left: 4px; padding-inline: 4px; }
  .c-contact-panel .c-contact-form input:not([type='checkbox']):not([type='hidden']), .c-contact-panel .c-contact-form textarea { padding-inline: 12px; }
  .c-contact-panel .c-contact-form__services .wpcf7-checkbox { flex-direction: column; gap: 12px; }
  .c-contact-panel .c-contact-form__submit { width: 100%; }
  .c-contact-panel .c-contact-form__privacy .wpcf7-list-item > label { font-size: 0.8125rem; gap: 8px; }
  .p-contact-section-heading h2 { font-size: 1.75rem; margin-top: calc(12 * var(--sp-scale)); }
  .p-contact-section-heading p { font-size: 0.875rem; margin-top: calc(20 * var(--sp-scale)); }
  .p-contact-section-heading br { display: none; }
  .p-contact-materials__grid, .p-contact-partnership__grid { grid-template-columns: 100%; gap: calc(24 * var(--sp-scale)); margin-top: calc(32 * var(--sp-scale)); }
  .p-contact-materials__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc(100% - 2.5rem); gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 0.25rem; padding: 0.25rem 0.25rem 1rem; }
  .p-contact-materials__grid > .c-material-card { min-width: 0; scroll-snap-align: start; }
  .c-material-card, .c-partnership-card { padding: calc(24 * var(--sp-scale)); }
  .c-material-card h3, .c-partnership-card h3 { margin-top: 16px; }
  .c-material-card__heading { gap: 16px; }
  .c-material-card__heading h3 { margin-top: 0; }
  .c-material-card p, .c-partnership-card p { margin-top: 8px; }
  .c-material-card p { margin-bottom: 16px; }
  .p-contact-layout--request { grid-template-columns: 100%; padding: calc(40 * var(--sp-scale)) 0 calc(48 * var(--sp-scale)); }
  .p-contact-layout--request .c-contact-panel { padding: calc(32 * var(--sp-scale)) calc(20 * var(--sp-scale)); }
  .p-contact-material { padding-top: 0; }
  .p-contact-material > h2 { font-size: 1.5rem; padding-left: 16px; }
  .p-contact-material > h3 { font-size: 1.25rem; margin-top: 24px; }
  .p-contact-material > p, .p-contact-material__audience li { font-size: 0.875rem; }
  .p-contact-material__preview { margin-top: 24px; }
  .p-contact-material__audience { margin-top: 24px; padding-top: 24px; }
  .p-contact-complete { padding: calc(48 * var(--sp-scale)) calc(20 * var(--sp-scale)); }
  .p-contact-complete h2 { font-size: 1.25rem; }
  .p-contact-complete__message { width: 100%; margin-top: calc(24 * var(--sp-scale)); font-size: 0.875rem; text-align: left; }
  .p-contact-complete__message br { display: none; }
  .p-contact-complete__message p + p { margin-top: 16px; }
  .p-contact-complete__links { flex-direction: column; align-items: center; gap: calc(16 * var(--sp-scale)); margin-top: calc(32 * var(--sp-scale)); }
  .p-contact-complete__links a { width: calc(280 * var(--sp-scale)); padding: 16px; }
  .p-contact-hub.c-page-section { padding-block: calc(48 * var(--sp-scale)); }
  .p-contact-hub > .l-container { width: calc(100% - 40 * var(--sp-scale)); }
  .p-contact-hub__main, .p-contact-hub__grid > div { padding: calc(32 * var(--sp-scale)) calc(20 * var(--sp-scale)); }
  .p-contact-hub .c-button { padding-inline: 16px; font-size: 0.875rem; }
  .p-contact-hub__grid { grid-template-columns: 100%; gap: calc(24 * var(--sp-scale)); }
  .p-contact-hub p { font-size: 0.875rem; }
  .p-contact-recruit { display: block; width: 100%; height: auto; padding-bottom: calc(28 * var(--sp-scale)); margin-top: calc(48 * var(--sp-scale)); }
  .p-contact-recruit__label { position: relative; width: 100%; height: calc(90 * var(--sp-scale)); padding: 0; }
  .p-contact-recruit__label::before, .p-contact-recruit__label::after { width: calc(220 * var(--sp-scale)); }
  .p-contact-recruit__label strong { margin: 0 0 0 calc(24 * var(--sp-scale)); padding-top: calc(14 * var(--sp-scale)); font-size: 1.75rem; }
  .p-contact-recruit__label > span { margin-left: calc(24 * var(--sp-scale)); font-size: 0.875rem; }
  .p-contact-recruit__copy { width: 100%; margin: 0; padding: calc(24 * var(--sp-scale)) calc(24 * var(--sp-scale)) 0; }
  .p-contact-recruit__copy > span { margin-top: 16px; }
  .p-contact-recruit__photo { width: 47%; height: auto; aspect-ratio: 507 / 257; }
}
