/* Contact and legal pages: an evidence-desk layout using the shared Tribal Bio system. */
.contact-layout{display:grid;min-height:calc(100svh - 60px)}
.contact-intro{display:flex;flex-direction:column;gap:28px;padding:clamp(48px,7vw,96px) var(--gutter);background:var(--wash);text-align:left}
.contact-intro__label{color:var(--blue);font-size:16px;font-weight:600}
.contact-intro .h1{max-width:9ch}
.contact-intro .lede{max-width:42ch}
.contact-intro__copy{display:grid;gap:16px;justify-items:start;max-width:42ch}
.contact-details{margin-top:auto;padding-top:24px;border-top:1px solid var(--rule-2)}
.contact-details dt{margin-bottom:8px;color:var(--muted);font-size:13px}
.contact-details dd{font-size:17px;font-weight:550}
.contact-details a{text-underline-offset:4px}
.contact-form-panel{padding:clamp(48px,7vw,96px) var(--gutter);scroll-margin-top:76px}
.contact-form-heading{display:grid;gap:10px;margin-bottom:32px}
.contact-form-heading .h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.contact-form-heading p{color:var(--muted);font-size:14px}
.contact-form{display:grid;gap:22px}
.contact-form__row{display:grid;gap:22px}
.form-field{display:grid;gap:8px}
.form-field label,.enquiry-types legend{font-size:14px;font-weight:600}
.form-field input,.form-field textarea{
  width:100%;min-height:52px;padding:13px 14px;border:1px solid var(--rule-2);border-radius:var(--radius);
  background:var(--paper);color:var(--ink);font:500 16px/1.45 var(--font)
}
.form-field textarea{min-height:136px;resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:#80858D;font-weight:450}
.form-field :is(input,textarea):focus{border-color:var(--blue);outline:2px solid rgba(28,83,156,.2);outline-offset:1px}
.enquiry-types{min-width:0;margin:0;padding:0;border:0}
.enquiry-types legend{margin-bottom:10px}
.enquiry-types__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.enquiry-type{position:relative;display:flex;min-width:0}
.enquiry-type input{position:absolute;inset:0;opacity:0}
.enquiry-type span{
  display:flex;align-items:center;width:100%;min-height:52px;padding:11px 14px;border:1px solid var(--rule-2);
  border-radius:var(--radius);color:var(--muted);font-size:14px;font-weight:550
}
.enquiry-type input:hover+span{border-color:var(--blue);color:var(--blue)}
.enquiry-type input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
.enquiry-type input:checked+span{border-color:var(--blue);background:#EDF3FA;color:var(--blue)}
.contact-form__footer{display:grid;gap:20px;align-items:center}
.contact-form__footer p{max-width:52ch;color:var(--muted);font-size:13px;line-height:1.55}
.contact-form__footer a{text-underline-offset:3px}
.contact-submit{justify-self:start;white-space:nowrap}
.contact-submit>span{display:inline-block;flex:none}
.form-status{min-height:1.5em;color:var(--success);font-size:13px}
.form-status[data-state="error"]{color:#9c2424}
.contact-submit:disabled{cursor:wait;opacity:.65}
.contact-form__honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-end{margin:0}

.legal-intro{padding:clamp(56px,8vw,112px) var(--gutter) clamp(48px,6vw,80px);background:var(--wash)}
.legal-intro__label{margin-bottom:28px;color:var(--blue);font-size:16px;font-weight:600}
.legal-intro__grid{display:grid;gap:28px}
.legal-intro .h1{max-width:12ch}
.legal-date{margin-top:18px;color:var(--muted);font-size:14px}
.legal-layout{display:grid;gap:48px;padding:clamp(48px,7vw,96px) var(--gutter) clamp(72px,9vw,128px)}
.legal-index>p{margin-bottom:16px;color:var(--ink);font-size:14px;font-weight:600}
.legal-index nav{display:grid;border-top:1px solid var(--rule)}
.legal-index a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--rule);color:var(--muted);font-size:14px;text-decoration:none}
.legal-index a:hover{color:var(--blue)}
.legal-content{max-width:760px}
.legal-content section{padding:0 0 40px;margin-bottom:40px;border-bottom:1px solid var(--rule);scroll-margin-top:88px}
.legal-content section:last-child{margin-bottom:0}
.legal-content h2{margin-bottom:18px;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.15;letter-spacing:-.025em;font-weight:580}
.legal-content p{margin-top:14px;color:var(--muted);font-size:17px;line-height:1.7;text-wrap:pretty}
.legal-content p:first-of-type{margin-top:0}
.legal-content ul{margin:14px 0 0;padding-left:22px;color:var(--muted);font-size:17px;line-height:1.7}
.legal-content li+li{margin-top:6px}
.legal-content strong{color:var(--ink);font-weight:650}
.legal-content a{text-underline-offset:4px}
.legal-end{margin:0}

@media(max-width:480px){
  .enquiry-types__grid{grid-template-columns:1fr}
}
@media(min-width:720px){
  .contact-form__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-form__footer{grid-template-columns:minmax(0,1fr) auto}
  .contact-submit{justify-self:end}
  .legal-intro__grid{grid-template-columns:6fr 5fr;gap:var(--gutter);align-items:end}
}
@media(min-width:960px){
  .contact-layout{grid-template-columns:minmax(0,5fr) minmax(520px,6fr)}
  .contact-intro{padding-inline:var(--gutter)}
  .contact-form-panel{padding-inline:clamp(40px,5vw,76px)}
  .legal-layout{grid-template-columns:3fr 8fr;gap:clamp(48px,8vw,112px)}
  .legal-index{position:sticky;top:92px;align-self:start}
}
