/* Contact — on the design system: shared header/footer, tokens and type from yphos.css, pill buttons,
   rounded fields, uppercase eyebrow labels. Layout after the contact concept (hero, form + direct-contact card). */
body{padding-top:72px}
.chero{padding:40px 0}
.chero .ey{margin-bottom:26px;text-align:center}
.chero h1{font-size:40px;font-weight:400;letter-spacing:-.035em;line-height:1.02;max-width:15ch;text-align:center;margin:0 auto}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:82px;padding:60px 0 130px;align-items:start}
.form-title{font-size:27px;font-weight:300;letter-spacing:-.025em;line-height:1.3;margin-bottom:12px}
.form-note{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:32px}
.fields{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;row-gap:30px}
.field{min-width:0}
.field.wide{grid-column:1/-1}
.field label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:10px}
.field label span{text-transform:none;letter-spacing:0;font-weight:300;margin-left:7px}
.field input,.field textarea,.field select{display:block;width:100%;min-width:0;font-family:var(--font);font-size:15px;font-weight:350;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;min-height:46px;transition:border-color .3s var(--ease)}
.field input:hover,.field textarea:hover,.field select:hover{border-bottom-color:var(--ink-2)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--ink);border-bottom-width:2px;padding-bottom:9px}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}
.field textarea{resize:vertical;height:140px;min-height:140px;line-height:1.65;padding-top:12px}
.field select{appearance:none;-webkit-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' stroke='%238b9099' fill='none' stroke-width='1.4'/%3E%3C/svg%3E");background-position:right 2px center;background-repeat:no-repeat}
.field select:invalid,.field select.is-placeholder{color:var(--muted)}
.field option{color:var(--ink)}
.form-bottom{margin-top:30px}
.form-bottom .btn{background:var(--ink);border-color:var(--ink);color:#fff}
.form-bottom .btn:hover{background:transparent;border-color:var(--ink);color:var(--ink)}
/* Contact Form 7 output: its wrappers are blocks, validation and response messages sit in the same voice
   (the plugin stylesheet is not loaded, so its screen-reader block is hidden here) */
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:0;padding:0;border:0}
.wpcf7 .screen-reader-response ul{list-style:none;margin:0;padding:0}
.wpcf7 .hidden-fields-container{border:0;margin:0;padding:0;min-inline-size:0;height:0;overflow:hidden}
.wpcf7-form-control-wrap{display:block}
.wpcf7-not-valid-tip{display:block;font-size:12px;color:#c0392b;margin-top:6px}
.wpcf7-spinner{display:none}
.wpcf7-response-output{display:none;margin:22px 0 0;padding:12px 16px;border:1px solid var(--line);border-radius:0;font-size:14px;color:var(--ink)}
.wpcf7-form.sent .wpcf7-response-output,.wpcf7-form.invalid .wpcf7-response-output,.wpcf7-form.failed .wpcf7-response-output,.wpcf7-form.spam .wpcf7-response-output,.wpcf7-form.unaccepted .wpcf7-response-output{display:block}
.wpcf7-form.sent .wpcf7-response-output{border-color:var(--blue)}
.wpcf7-form.invalid .wpcf7-response-output,.wpcf7-form.failed .wpcf7-response-output{border-color:#c0392b}
.contact-card{background:#f8f9fa;border-radius:0;padding:40px 38px 34px}
.contact-card h2{font-size:29px;line-height:1.22;font-weight:300;letter-spacing:-.03em;max-width:13ch;margin-bottom:32px}
.contact-list{margin:0}
.contact-item{border-top:1px solid var(--line);padding:22px 0}
.contact-item:last-child{padding-bottom:0}
.contact-item dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:8px}
.contact-item dd{margin:0}
.contact-item a{display:inline-block;font-size:clamp(17px,1.62vw,22px);font-weight:300;color:var(--ink);letter-spacing:-.02em;line-height:1.5;white-space:nowrap;transition:color .3s var(--ease)}
.contact-item a:hover{color:var(--blue)}
.partner{font-size:12px;color:var(--muted);display:block;margin-top:3px;font-style:normal}
.support{padding:30px 0 0;margin-top:30px;border-top:1px solid var(--line)}
.support h3{font-size:16px;font-weight:400;margin-bottom:10px}
.support p{font-size:14px;line-height:1.7;color:var(--body);max-width:40ch}
.support .lnk{margin-top:16px;font-size:14px}
@media(min-width:1600px){.contact-layout{gap:104px}}
@media(max-width:1050px){.contact-layout{gap:42px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.contact-card{padding:30px 26px}.fields{column-gap:18px}.form-title{font-size:24px}.contact-card h2{font-size:27px}}
@media(max-width:900px){.chero{padding:32px 0}.contact-layout{grid-template-columns:1fr;gap:48px;padding:40px 0 80px}.contact-card{padding:34px}.contact-card h2{max-width:none;margin-bottom:26px;font-size:28px}.contact-list{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.contact-item:last-child{padding-bottom:22px}.support p{max-width:none}}
@media(max-width:600px){.chero h1{max-width:13ch}.fields{grid-template-columns:1fr}.field.wide{grid-column:auto}.field input,.field select,.field textarea{font-size:16px}.contact-card{padding:30px 22px}.contact-card h2{max-width:12ch}.contact-list{grid-template-columns:1fr}.contact-item:last-child{padding-bottom:0}}
