/* ==========================================================================
   Contact page
   ========================================================================== */
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.jump a{padding:9px 16px;border-radius:999px;border:1px solid rgba(249,248,245,.4);color:var(--paper);text-decoration:none;font-size:14px;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.jump a:hover{background:var(--snow);border-color:var(--snow);color:var(--alpine)}

.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,56px);align-items:start}
.contact-info{display:grid;gap:16px;position:sticky;top:calc(var(--header-h) + 20px)}
.ci{position:relative;padding:26px 26px 24px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.ci-ic{width:40px;height:40px;padding:9px;border-radius:50%;background:rgba(127,140,107,.16);color:var(--sage-deep);margin-bottom:14px}
.ci h3{font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);margin-bottom:12px}
.ci p{font-size:15.5px;line-height:1.7;color:var(--ink-3)}
.ci strong{font:400 21px/1.3 var(--display);color:var(--alpine)}
.ci-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;font-size:15px;color:var(--sky);text-decoration:none;word-break:break-all}
.ci-link:hover{color:var(--terracotta)}
.ci-link svg{width:18px;height:18px;flex-shrink:0}
.socials.on-light a{border-color:rgba(31,42,36,.2);color:var(--alpine)}
.socials.on-light a:hover{background:var(--alpine);border-color:var(--alpine);color:var(--paper)}

.contact-form-card{border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 40px 70px -50px rgba(31,42,36,.5);overflow:hidden}
.contact-form-card::before{content:"";display:block;height:6px;background:var(--sage);transition:background .3s}
.contact-form-card[data-type="artist"]::before{background:var(--snow)}
.contact-form-card[data-type="sponsor"]::before{background:var(--terracotta)}
.contact-form-card[data-type="homestay"]::before{background:var(--sky)}
.contact-form-card[data-type="press"]::before{background:var(--alpine)}
.contact-form-card .enq-head h2{font-size:clamp(30px,3.4vw,40px);margin:4px 0 8px}
.contact-form-card .enq-head p.js-intro{font-size:15px;color:var(--ink-3)}
.etypes{border:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:8px}
.etypes legend{font:600 13px/1 var(--sans);color:var(--alpine);margin-bottom:12px;float:left;width:100%}
.etypes label{position:relative;cursor:pointer}
.etypes input{position:absolute;opacity:0;inset:0;cursor:pointer}
.etypes span{display:inline-block;padding:10px 16px;border-radius:999px;border:1.5px solid rgba(31,42,36,.18);font-size:14.5px;font-weight:500;color:var(--ink-2);transition:all .2s}
.etypes label:hover span{border-color:var(--alpine)}
.etypes input:checked+span{background:var(--alpine);border-color:var(--alpine);color:var(--paper)}
.etypes input:focus-visible+span{outline:3px solid var(--sky);outline-offset:2px}

.downloads{background:var(--paper-2)}
.dl-group{font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--alpine);margin:0 0 16px;display:flex;align-items:center;gap:12px}
.dl-group::after{content:"";flex:1;height:1px;background:var(--line)}
.dl-tiles+.dl-group{margin-top:44px}
.dl-logo{width:44px;height:auto;margin-bottom:auto}

.library{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.library figure{margin:0}
.library .gi{display:block;width:100%;aspect-ratio:4/5;cursor:zoom-in}
.library .gi.contain{background:var(--alpine)}
.library .gi.contain .gi-img{object-fit:contain;padding:18%}
.library figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:13px;color:var(--ink-3)}
.library figcaption a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--terracotta);text-decoration:none;white-space:nowrap}
.library figcaption a:hover{color:var(--terracotta-deep)}
.library figcaption svg{width:14px;height:14px}

@media (max-width:980px){
  .contact-grid{grid-template-columns:1fr}
  .contact-info{position:static;grid-template-columns:1fr 1fr}
  .contact-info .ci:last-child{grid-column:1/-1}
  .library{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .contact-info{grid-template-columns:1fr}
  .library{grid-template-columns:1fr 1fr;gap:12px}
}
