/* Contact pages only. The number stands on the same plank as the binders on the home page. */
:root{--oops:#8E2A1E;--fit:5.02;--entry:clamp(22px,2vw,28px)}

.dial{padding-top:clamp(18px,3vw,48px)}
.dial h1{padding:0 var(--edge);font-size:clamp(23px,2.2vw,34px);line-height:1.2;letter-spacing:-.012em}
.dial-num{display:block;container-type:inline-size;padding:clamp(16px,2.2vw,36px) var(--edge) 0;border-bottom:10px solid var(--ink);overflow:hidden;transition:color .3s var(--ease)}
.dial-num:focus-visible{outline-offset:-3px}
.digits{display:flex;justify-content:space-between;font:500 calc((100vw - 2*var(--edge))/var(--fit))/1 Domine,Georgia,serif;font-size:calc(100cqw/var(--fit));font-variant-numeric:lining-nums;margin:-.075em -.018em -.17em -.04em}
.digits b{display:flex;font-weight:inherit}
.digits i{display:block;font-style:normal;transition:transform .45s var(--ease);animation:stand 1s var(--ease) backwards;animation-delay:calc(var(--i)*55ms + .1s)}
@keyframes stand{from{transform:translateY(100%)}}
@media (hover:hover){
  .dial-num:hover{color:var(--brass-dk)}
  .digits i:hover{transform:translateY(-.05em)}
}
.dial-num:active .digits{transform:translateY(.012em)}

.reach{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(48px,9vw,144px);padding:clamp(52px,6.4vw,96px) var(--edge) clamp(64px,8vw,120px);align-items:start}
.reach h2{font-size:clamp(30px,3vw,46px)}

.line{margin-top:clamp(22px,2.2vw,32px)}
.well{position:relative}
.well input,.well textarea{display:block;width:100%;padding:var(--entry) 0 11px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:none;color:var(--ink);font:500 var(--entry)/1.32 Domine,Georgia,serif;outline:0;resize:none;appearance:none}
.well textarea{field-sizing:content;min-height:calc(var(--entry)*2.32 + 12px);max-height:40vh}
.well label{position:absolute;left:0;top:var(--entry);color:var(--soft);font:400 var(--entry)/1.32 "Schibsted Grotesk",system-ui,sans-serif;transform-origin:0 0;transition:transform .32s var(--ease);pointer-events:none}
.well :focus+label,.well :not(:placeholder-shown)+label{transform:translateY(calc(var(--entry)*-1)) scale(.62)}
.well input:-webkit-autofill+label{transform:translateY(calc(var(--entry)*-1)) scale(.62)}
.well input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 60px var(--wall) inset}
.well::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brass-dk);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}
.well:focus-within::after{transform:none}
.well [aria-invalid="true"]{border-bottom-color:var(--oops)}
.well:has([aria-invalid="true"])::after{background:var(--oops)}
.oops{margin-top:7px;color:var(--oops);font-size:16px;font-weight:500}

/* Bots fill this in, people never see it */
.trap{position:absolute;left:-200vw;width:1px;height:1px;overflow:hidden}

.send{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:clamp(28px,3vw,42px)}
.go{min-width:11em;margin-top:0;border:0;cursor:pointer;font-family:inherit;text-align:center}
.go[aria-busy="true"]{cursor:progress;background:var(--soft)}

.fail{display:none;margin-top:22px;color:var(--oops);font-weight:500;max-width:46ch}
.fail a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.fail:target,.fail.show{display:block}

.done{display:none}
.done:target,.done.show{display:block;outline:0}
.done:target~.ask,.done.show~.ask{display:none}
.tick{display:block;width:clamp(52px,5vw,76px);height:auto;fill:none;stroke:var(--brass-dk);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:tick .8s .1s var(--ease) backwards}
@keyframes tick{from{stroke-dashoffset:1}}
.done-title{margin-top:clamp(16px,1.8vw,26px);font:500 clamp(30px,3vw,46px)/1.1 Domine,Georgia,serif;letter-spacing:-.016em;text-wrap:balance}
.done p{margin-top:12px;color:var(--soft)}

.facts{font-size:18px;line-height:1.5}
.facts>*{display:block;padding:clamp(16px,1.6vw,22px) 0;border-top:1px solid var(--perf);font-style:normal}
.facts>:last-child{border-bottom:1px solid var(--perf)}
.facts a{text-decoration:underline;text-decoration-color:var(--perf);text-underline-offset:4px;text-decoration-thickness:1px;transition:color .2s var(--ease),text-decoration-color .2s var(--ease)}
.facts a:hover{color:var(--brass-dk);text-decoration-color:currentColor}
.facts address>span{display:block}
.facts-mail{font:500 clamp(19px,1.62vw,24px)/1.3 Domine,Georgia,serif;overflow-wrap:anywhere}
.facts address>.facts-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:10px;font-weight:500}
.facts-hours{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 20px}
.facts-hours span:last-child{font-weight:500}
.facts-reg{display:flex;flex-wrap:wrap;gap:0 .5em;color:var(--soft);font-size:15.5px;line-height:1.5}
.facts-reg span{white-space:nowrap}

.place{background:var(--steel)}
.place iframe{display:block;width:100%;height:clamp(300px,38vw,560px);border:0}

@media (max-width:900px){
  .reach{grid-template-columns:minmax(0,1fr);gap:clamp(48px,9vw,72px)}
}
@media (max-width:620px){
  .dial-num{border-bottom-width:8px}
  .go{width:100%}
  .send{gap:14px}
}
@media (prefers-reduced-motion:reduce){
  .digits i,.tick{animation:none;transition:none}
  .well label,.well::after,.dial-num,.facts a{transition:none}
}
