/* Contact page (patterns/lien-he-*.php). Loaded only on pages with a block of class "ct" (functions.php). */
.ct{--ct-ic:calc(var(--s-5) + var(--s-4));--ct-map-h:220px;padding-inline:var(--s-4)}
.ct__page{max-width:var(--page);margin-inline:auto}
.ct__page > *{margin:0}

/* heading */
.ct-head{padding-top:var(--s-6)}
.ct-head .ct__page{display:grid;gap:var(--gap-text);max-width:var(--page)}
.ct-head__title{max-width:var(--measure);font-size:var(--t-2xl);font-weight:800;letter-spacing:-0.03em;line-height:1.08}
.ct-head__title strong{font-weight:inherit;color:var(--accent)}
.ct-head__lede{max-width:var(--measure);font-size:var(--t-l);color:var(--ink-2)}

/* four channels */
.ct-channels{padding-top:var(--gap-head)}
.ct-channels__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-grid)}
.ct-ch{position:relative;display:grid;gap:var(--s-3);align-content:start;padding:var(--gap-card-s);border:1px solid var(--rule);border-radius:var(--r-card);background:var(--card);transition:transform var(--dur-m) var(--ease-out)}
.ct-ch:hover{transform:translateY(-3px)}
.ct-ch > *{margin:0;min-width:0} /* grid items default to min-width:auto: a long email would widen the card past the column */
/* icon tile: ::before = tinted square, ::after = the icon (ic-phone · ic-chat · ic-mail · ic-cal, files of icons/) */
.ct-ch::before,.ct-ch::after{content:"";grid-area:1/1;justify-self:start}
.ct-ch::before{width:var(--ct-ic);height:var(--ct-ic);border-radius:var(--r-pill);background:var(--accent-tint)}
.ct-ch::after{width:var(--icon-m);height:var(--icon-m);margin:calc((var(--ct-ic) - var(--icon-m)) / 2);background:var(--accent);-webkit-mask:var(--ct-icon) center / contain no-repeat;mask:var(--ct-icon) center / contain no-repeat}
.ct-ch > .mono{grid-row:2}
.ct-ch.ic-phone{--ct-icon:url(../../../icons/phone.svg)}
.ct-ch.ic-chat{--ct-icon:url(../../../icons/chat.svg)}
.ct-ch.ic-mail{--ct-icon:url(../../../icons/mail.svg)}
.ct-ch.ic-cal{--ct-icon:url(../../../icons/cal.svg)}
.ct-ch .mono{font-size:var(--t-2xs)}
.ct-ch__val{font:600 var(--t-l)/1.2 var(--font-display);letter-spacing:-0.01em;overflow-wrap:anywhere}
.ct-ch__val.is-num{font-family:var(--font-mono);font-weight:500;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.ct-ch__val.is-mail{font-size:var(--t-s)} /* a bound e-mail has no <wbr>: keep it on one line as long as the column allows */
.ct-ch__note{color:var(--ink-3);font-size:var(--t-xs)}
.ct-ch__act{margin-top:auto}
.ct-ch__act .wp-block-button__link{min-height:var(--ctl-s);padding-inline:var(--s-4);font-size:var(--t-s)}

/* form + office */
.ct-main{padding-top:var(--gap-head);scroll-margin-top:calc(var(--nav-h) + var(--s-4))}
.ct-main__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--gap-col);align-items:start}
.ct-form{display:grid;gap:var(--gap-text)}
.ct-form > *{margin:0}
.ct-form__title{font-size:var(--t-xl);font-weight:700;letter-spacing:-0.02em}
.ct-form__lede{color:var(--ink-2)}
.ct-form__box{margin-top:var(--s-2)}
.ct-form__privacy{font-size:var(--t-xs);color:var(--ink-3);max-width:var(--measure)}
.ct-side{display:grid;gap:var(--gap-grid);align-content:start}
.ct-side > *{margin:0}
.ct-card{display:grid;gap:var(--gap-stack);align-content:start;padding:var(--gap-card-s);border:1px solid var(--rule);border-radius:var(--r-card);background:var(--card)}
.ct-card > *{margin:0;min-width:0}
.ct-office__map .dn-kit-map__placeholder{min-height:var(--ct-map-h)}
.ct-office__company{font:600 var(--t-s)/1.3 var(--font-body)}
.ct-office__addr{color:var(--ink-2);font-size:var(--t-s)}
.ct-rows{display:grid}
.ct-rows > *{margin:0}
.ct-row{padding-block:var(--s-2);border-top:1px solid var(--rule);font-size:var(--t-s)}
.ct-row:first-child{border-top:0;padding-top:0}
.ct-row > p{margin:0}
.ct-row__k{color:var(--ink-2)}
.ct-row__v{font:500 var(--t-s)/1.4 var(--font-mono);font-variant-numeric:tabular-nums}
.ct-social{gap:var(--s-2)}
.ct-social .wp-block-button__link{min-height:var(--ctl-s);padding-inline:var(--s-3);font-size:var(--t-s)}

/* before you call */
.ct-faq{padding-top:var(--gap-section)}
.ct-faq .ct__page{display:grid;gap:var(--gap-text)}
.ct-faq__title{font-size:var(--t-xl);font-weight:700;letter-spacing:-0.02em}
.ct-faq__list{display:grid;gap:var(--s-2);max-width:var(--measure)}
.ct-faq__list > *{margin:0}
.ct-faq__item{border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--card);padding:0 var(--s-4)}
.ct-faq__item > summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:var(--ctl);padding-block:var(--s-2);cursor:pointer;font:600 var(--t-s)/1.3 var(--font-body)}
.ct-faq__item > summary::-webkit-details-marker{display:none}
.ct-faq__item > summary::after{content:"";flex:none;width:var(--icon-s);height:var(--icon-s);background:currentColor;-webkit-mask:url(../../../icons/down.svg) center / contain no-repeat;mask:url(../../../icons/down.svg) center / contain no-repeat;transition:transform var(--dur-m) var(--ease-out)}
.ct-faq__item[open] > summary::after{transform:rotate(180deg)}
.ct-faq__item > p{margin:0;padding-bottom:var(--s-4);color:var(--ink-2);font-size:var(--t-s)}


@media (max-width: 1279px){
  .ct-ch__val.is-mail{font-size:var(--t-xs)}
}
@media (max-width: 1023px){
  .ct-channels__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-main__grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 767px){
  .ct-head{padding-top:var(--s-4)}
}
@media (max-width: 479px){
  .ct-channels__grid{grid-template-columns:minmax(0,1fr)}
}
