/* Fastidious Wellness — Contact page */

/* Full canvas */
body.fw-contact .archive-header + .col-full{max-width:none !important;padding:0 !important;margin:0 !important}
body.fw-contact .col-full{font-family:var(--sans,"Archivo",sans-serif);color:var(--body,#3D4C66)}

/* Kicker */
.fw-contact__kicker{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--teal,#2F8F85);margin-bottom:20px}

/* HERO */
.fw-contact__hero{background:linear-gradient(180deg,var(--wash,#F2F6FB) 0%,#fff 100%);padding:clamp(72px,10vw,140px) 24px clamp(48px,6vw,88px);text-align:center;border-bottom:1px solid var(--hairline,#E2EAF3)}
.fw-contact__hero h1{font-family:var(--serif,"Newsreader",Georgia,serif);font-weight:400;font-size:clamp(2.5rem,6vw,4rem);line-height:1.05;letter-spacing:-.02em;color:var(--ink,#0E2240);margin:0 auto 20px;max-width:900px}
.fw-contact__hero p{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.65;color:var(--body,#3D4C66);max-width:620px;margin:0 auto}

/* METHODS */
.fw-contact__methods{max-width:1180px;margin:0 auto;padding:clamp(64px,8vw,110px) 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fw-contact__method{background:#fff;border:1px solid var(--hairline,#E2EAF3);border-radius:var(--r-lg,20px);padding:40px 32px;transition:box-shadow .25s,transform .25s,border-color .25s;display:flex;flex-direction:column}
.fw-contact__method:hover{border-color:#CFDAE8;box-shadow:0 14px 34px rgba(14,34,64,.10);transform:translateY(-2px)}
.fw-contact__method-icon{width:52px;height:52px;color:var(--teal,#2F8F85);background:var(--teal-wash,#EAF5F3);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.fw-contact__method-icon svg{width:24px;height:24px}
.fw-contact__method h3{font-family:var(--serif,"Newsreader",Georgia,serif);font-weight:500;font-size:1.35rem;color:var(--ink,#0E2240);margin:0 0 10px}
.fw-contact__method p{font-size:.95rem;line-height:1.55;color:var(--body,#3D4C66);margin:0 0 20px;flex-grow:1}
.fw-contact__method a{align-self:flex-start;color:var(--ink,#0E2240);font-weight:600;font-size:1rem;text-decoration:none;border-bottom:1px solid var(--teal,#2F8F85);padding-bottom:3px;transition:color .18s}
.fw-contact__method a:hover{color:var(--teal,#2F8F85)}
.fw-contact__method .fw-contact__hours{color:var(--ink,#0E2240);font-weight:600;font-size:1rem}

/* FORM BLOCK */
.fw-contact__form-block{max-width:1180px;margin:0 auto;padding:clamp(64px,8vw,110px) 24px;display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(40px,6vw,80px);align-items:start;border-top:1px solid var(--hairline,#E2EAF3)}
.fw-contact__form-intro h2{font-family:var(--serif,"Newsreader",Georgia,serif);font-weight:400;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.01em;color:var(--ink,#0E2240);margin:0 0 16px}
.fw-contact__form-intro > p{font-size:1rem;line-height:1.65;color:var(--body,#3D4C66);margin:0 0 32px}
.fw-contact__perks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}
.fw-contact__perks li{padding-left:32px;position:relative;font-size:.95rem;line-height:1.55}
.fw-contact__perks li::before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:var(--teal-wash,#EAF5F3);border:2px solid var(--teal,#2F8F85)}
.fw-contact__perks strong{display:block;color:var(--ink,#0E2240);font-weight:600;margin-bottom:4px}
.fw-contact__perks span{color:var(--body,#3D4C66)}
.fw-contact__perks a{color:var(--teal,#2F8F85);text-decoration:underline;text-underline-offset:2px}

/* FORM */
.fw-contact__form{background:#fff;border:1px solid var(--hairline,#E2EAF3);border-radius:var(--r-lg,20px);padding:40px;display:flex;flex-direction:column;gap:20px;box-shadow:0 1px 2px rgba(14,34,64,.04),0 14px 34px -18px rgba(14,34,64,.14)}
.fw-contact__field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fw-contact__field{display:flex;flex-direction:column;gap:8px}
.fw-contact__field > span{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink,#0E2240)}
.fw-contact__field > span em{color:var(--teal,#2F8F85);font-style:normal;margin-left:3px}
.fw-contact__field input,.fw-contact__field select,.fw-contact__field textarea{font-family:var(--sans,"Archivo",sans-serif);font-size:1rem;color:var(--ink,#0E2240);background:#fff;border:1px solid var(--hairline,#E2EAF3);border-radius:10px;padding:14px 16px;transition:border-color .18s,box-shadow .18s;width:100%;box-sizing:border-box}
.fw-contact__field textarea{resize:vertical;min-height:140px;line-height:1.55}
.fw-contact__field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 8 5 5 5-5' stroke='%230E2240' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}
.fw-contact__field input:focus,.fw-contact__field select:focus,.fw-contact__field textarea:focus{outline:none;border-color:var(--teal,#2F8F85);box-shadow:0 0 0 3px rgba(47,143,133,.15)}
.fw-contact__consent{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;color:var(--body,#3D4C66);line-height:1.5;margin-top:4px}
.fw-contact__consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--teal,#2F8F85);flex-shrink:0}
.fw-contact__consent a{color:var(--teal,#2F8F85);text-decoration:underline;text-underline-offset:2px}
.fw-contact__honey{position:absolute !important;left:-9999px !important;opacity:0 !important;pointer-events:none !important}
.fw-contact__submit{background:var(--teal,#2F8F85);color:#fff;border:none;border-radius:12px;padding:18px 32px;font-family:var(--sans,"Archivo",sans-serif);font-size:1rem;font-weight:600;cursor:pointer;transition:background .18s,transform .1s;margin-top:8px}
.fw-contact__submit:hover{background:var(--blue-dark,#256F67)}
.fw-contact__submit:active{transform:translateY(1px)}

/* SUCCESS */
.fw-contact__success{background:var(--teal-wash,#EAF5F3);border:1px solid var(--teal,#2F8F85);border-radius:var(--r-lg,20px);padding:48px 40px;text-align:center}
.fw-contact__success-icon{width:56px;height:56px;margin:0 auto 20px;color:var(--teal,#2F8F85);background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}
.fw-contact__success-icon svg{width:28px;height:28px}
.fw-contact__success h3{font-family:var(--serif,"Newsreader",Georgia,serif);font-weight:500;font-size:1.75rem;color:var(--ink,#0E2240);margin:0 0 12px}
.fw-contact__success p{color:var(--body,#3D4C66);line-height:1.6;margin:0}

/* ERROR */
.fw-contact__error{background:#FDECEA;border:1px solid #E8776A;color:#B23A2A;padding:14px 18px;border-radius:10px;margin-bottom:20px;font-size:.92rem}

/* HELP */
.fw-contact__help{max-width:820px;margin:0 auto;padding:clamp(48px,6vw,80px) 24px;text-align:center;border-top:1px solid var(--hairline,#E2EAF3)}
.fw-contact__help p{font-size:.95rem;color:var(--faint,#71809B);margin:0;line-height:1.6}
.fw-contact__help a{color:var(--teal,#2F8F85);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fw-contact__help a:hover{color:var(--ink,#0E2240)}

/* RESPONSIVE */
@media (max-width:960px){
  .fw-contact__form-block{grid-template-columns:1fr;gap:48px}
  .fw-contact__methods{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .fw-contact__methods{grid-template-columns:1fr;gap:16px;padding-left:20px;padding-right:20px}
  .fw-contact__method{padding:32px 24px}
  .fw-contact__form-block{padding-left:20px;padding-right:20px}
  .fw-contact__form{padding:28px 22px}
  .fw-contact__field-row{grid-template-columns:1fr;gap:20px}
  .fw-contact__hero{padding-left:20px;padding-right:20px}
  .fw-contact__success{padding:36px 24px}
}

/* Fix select clipping + custom dropdown arrow */
.fw-contact__field select{
  line-height:1.4;
  min-height:52px;
  height:52px;
  padding:0 44px 0 16px;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%230E2240' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 18px center;
  cursor:pointer;
}
.fw-contact__field select::-ms-expand{display:none}