/* Contact landing page: 1012 brand, reference layout, approved field inventory. */
.wy-contact{background:var(--wy-g0)}
.contact-surface{position:relative;isolation:isolate;background:linear-gradient(135deg,#EDE9F9,#F8FAFE 48%,#E8EDFB)}
.contact-stage{position:relative;isolation:isolate;min-height:calc(100 * var(--wy-vh,1vh));display:grid;align-items:center;padding:calc(var(--wy-nav-h) + var(--wy-s8)) var(--wy-s6) var(--wy-s8)}
.contact-background{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;pointer-events:none}
/* Approved dot-matrix background: clean gradient image plus the original editable dot layer. */
.contact-stage::after{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0 0 auto auto;width:54%;height:calc(30 * var(--wy-vh,1vh));background-image:radial-gradient(circle,rgba(255,255,255,.94) calc(1.6px / var(--wy-zoom,1)),transparent calc(2.15px / var(--wy-zoom,1)));background-size:calc(18px / var(--wy-zoom,1)) calc(18px / var(--wy-zoom,1));background-position:top right;opacity:.82;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 46%),linear-gradient(180deg,#000 0%,#000 28%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 46%),linear-gradient(180deg,#000 0%,#000 28%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.contact-layout{width:100%;max-width:960px;min-width:0;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--wy-s7)}
.contact-card{width:576px;max-width:100%;min-width:0;padding:var(--wy-s6) 40px 36px;border-radius:var(--wy-r-2xl,24px);background:var(--wy-g0);box-shadow:0 24px 64px -24px rgba(35,30,69,.13),0 2px 8px rgba(35,30,69,.03)}
.contact-title{width:100%;margin:0;font-family:var(--wy-font-display);font-size:var(--wy-fs-display);font-weight:500;line-height:var(--wy-lh-head,68px);letter-spacing:var(--wy-ls-title,.03em);color:var(--wy-ink);text-align:center;text-wrap:pretty}
.contact-title-emphasis{display:block;color:var(--wy-primary)}
.contact-title-part{display:inline-block;white-space:nowrap}
.contact-form{display:grid;gap:var(--wy-s4);text-align:left}
.contact-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wy-s4)}
.contact-field{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
.contact-label{font-size:var(--wy-fs-small);line-height:var(--wy-lh-label,1.5);font-weight:400;color:var(--wy-g700)}
.contact-required{color:var(--wy-primary)}
.contact-form :is(input:not([type=checkbox]):not([type=radio]),textarea),.contact-select{width:100%;min-width:0;border:1px solid var(--wy-g100);border-radius:var(--wy-r-btn);background:var(--wy-g0);color:var(--wy-ink);font-family:inherit;font-size:var(--wy-fs-small);font-weight:400;line-height:1.5;transition:border-color var(--wy-dur-fast) var(--wy-ease),box-shadow var(--wy-dur-fast) var(--wy-ease)}
.contact-form input:not([type=checkbox]):not([type=radio]){height:44px;padding:0 var(--wy-s3)}
.contact-form textarea{min-height:72px;padding:10px var(--wy-s3);resize:vertical}
.contact-form :is(input,textarea)::placeholder{color:var(--wy-g500);opacity:1}
.contact-form :is(input:not([type=checkbox]):not([type=radio]),textarea):hover,.contact-select:hover{border-color:var(--wy-primary-light)}
.contact-form :is(input:not([type=checkbox]):not([type=radio]),textarea,.contact-select):focus{border-color:var(--wy-primary);box-shadow:none}
/* Form controls show one focus border, overriding the shared keyboard outline only here. */
.contact-form :is(input:not([type=checkbox]):not([type=radio]),textarea,.contact-select):focus-visible{outline:none!important;outline-offset:0;box-shadow:none;border-color:var(--wy-primary)}
.contact-select{display:flex;align-items:center;justify-content:space-between;gap:var(--wy-s3);min-height:44px;padding:10px var(--wy-s3);cursor:pointer;text-align:left}
.contact-select-value{min-width:0;overflow-wrap:anywhere}
.contact-select-value.is-placeholder{color:var(--wy-g500)}
.contact-select svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--wy-g500);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--wy-dur-fast) var(--wy-ease)}
.contact-select[aria-expanded=true]{border-color:var(--wy-primary)}
.contact-select[aria-expanded=true] svg{transform:rotate(180deg)}
.contact-form :is(input:not([type=checkbox]):not([type=radio]),textarea,.contact-select)[aria-invalid=true]{border-color:var(--wy-danger);box-shadow:none}
.contact-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;max-height:288px;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--wy-g100);border-radius:var(--wy-r-card);background:var(--wy-g0);box-shadow:0 12px 32px -8px rgba(35,30,69,.17)}
.contact-options[hidden],.contact-error[hidden],.contact-status[hidden]{display:none}
.contact-options.is-above{top:auto;bottom:calc(100% - 22px)}
.contact-option{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px;border-radius:var(--wy-r-sm);font-size:var(--wy-fs-small);line-height:1.5;color:var(--wy-g700);cursor:pointer}
.contact-option:hover,.contact-option:focus-within{background:var(--wy-g25)}
.contact-option:has(input:checked){background:var(--wy-primary-subtle);color:var(--wy-primary-shade)}
.contact-form :is(input[type=checkbox],input[type=radio]){width:16px;height:16px;flex:none;margin:0;accent-color:var(--wy-primary);cursor:pointer}
.contact-consent{display:flex;align-items:flex-start;gap:var(--wy-s2);font-size:var(--wy-fs-micro);line-height:22px;color:var(--wy-g600);cursor:pointer}
.contact-consent-field{display:grid;gap:6px}
.contact-consent input{margin-top:3px!important}
.contact-consent input[type=checkbox]{appearance:none;-webkit-appearance:none;border:1px solid var(--wy-g300);border-radius:4px;background:var(--wy-g0)}
.contact-consent input[type=checkbox]:checked{border-color:var(--wy-primary);background-color:var(--wy-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100% 100%}
.contact-consent input[type=checkbox]:focus-visible{outline:none!important;border-color:var(--wy-primary)}
.contact-consent input[type=checkbox][aria-invalid=true]{border-color:var(--wy-danger)}
.contact-error{margin:0;font-size:var(--wy-fs-micro);line-height:22px;color:var(--wy-danger)}
.contact-submit{width:100%;height:48px!important;font-size:var(--wy-fs-small)!important}
.contact-status{margin:0;font-size:var(--wy-fs-micro);line-height:22px;color:var(--wy-g700)}
@media (max-width:1199px){
  .contact-stage{min-height:100svh;padding-top:112px}
}
@media (max-width:1023px){
  .contact-stage{padding-top:96px}
}
@media (max-width:599px){
  .contact-stage{padding:88px var(--wy-s5) var(--wy-s7)}
  .contact-background{object-position:75% top}
  .contact-layout{gap:var(--wy-s6)}
  .contact-card{padding:var(--wy-s5);border-radius:var(--wy-r-xl)}
  .contact-pairs{grid-template-columns:minmax(0,1fr)}
  .contact-form :is(input:not([type=checkbox]):not([type=radio]),textarea),.contact-select{font-size:16px}
}
@media (max-width:359px){.contact-stage{padding-inline:var(--wy-s4)}.contact-card{padding:20px}}
@media (prefers-reduced-motion:reduce){
  .contact-form *{transition:none!important}
}

/* Whole option rows are native label targets for pointer and touch. */
.contact-option{width:100%;box-sizing:border-box;user-select:none}
