/* Jun at 1:50 — a small elevation, with the model moving inside its own raster. */
#contact{overflow:visible;min-height:78vh;padding-bottom:clamp(54px,7vw,100px)}
#contact .contact-grid{grid-template-columns:minmax(0,1fr) auto;gap:clamp(30px,6vw,88px);align-items:end}
#contact .contact-lead{min-width:0;max-width:100%;font-size:clamp(29px,3.55vw,51px);line-height:1.12;overflow-wrap:normal;text-wrap:balance;text-shadow:none!important}
#contact .contact-email-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}
#contact .contact-email{display:inline-block;max-width:100%;font-size:clamp(18px,2.65vw,36px);line-height:1.35;overflow-wrap:anywhere;word-break:normal;text-wrap:nowrap;text-underline-offset:7px}
#contact .contact-copy{border:1px solid var(--line-strong);border-radius:50%;width:34px;height:34px;display:inline-grid;place-items:center;background:transparent;color:var(--ink-soft);cursor:pointer;flex:0 0 auto;transition:color .2s,background-color .2s,transform .2s}
#contact .contact-copy svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4}
#contact .contact-copy:hover{color:var(--ink);background:var(--ember-dim);transform:translateY(-2px)}
#contact .contact-copy:active{transform:translateY(0) scale(.94)}
#contact :is(.contact-copy,.contact-email):focus-visible{outline:2px solid var(--ember);outline-offset:6px}
.contact-elevation{position:relative;min-width:0;height:252px;margin-top:28px;isolation:isolate;overflow:clip;touch-action:pan-y;--cf-ground:202px;--cf-ink:var(--ink)}
.contact-elevation:focus-visible{outline:1px dashed var(--line-strong);outline-offset:8px;border-radius:8px}
.contact-ground{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:var(--cf-ink)}
.contact-ground .cf-ground-ink{opacity:.35}
.contact-ground text{fill:currentColor;stroke:none;font:10px var(--mono,monospace);letter-spacing:.13em}
.contact-ground .cf-dimension{opacity:0;transition:opacity .35s}
.contact-ground .cf-dimension.is-active{opacity:.65}
.contact-figure-canvas{position:absolute;left:0;top:0;width:256px;height:224px;pointer-events:none;z-index:2;will-change:transform}
.contact-figure-canvas{opacity:0;translate:0 12px;transition:opacity .6s,translate .6s cubic-bezier(.2,.85,.25,1.08)}
.contact-elevation.has-arrived .contact-figure-canvas{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.contact-figure-canvas{transition:none}}
.contact-lantern-pool{position:absolute;left:0;top:calc(var(--cf-ground) - 27px);width:260px;height:54px;background:radial-gradient(ellipse at center,rgba(230,173,79,.17) 0%,rgba(222,158,61,.085) 32%,rgba(222,158,61,0) 72%);opacity:0;pointer-events:none;z-index:0;will-change:transform;transition:opacity .8s}
.contact-elevation.is-night .contact-lantern-pool{opacity:1}
.contact-figure-label{position:absolute;top:10px;left:0;pointer-events:none;transform:translateX(-50%);font:10px var(--mono,monospace);letter-spacing:.14em;color:var(--ink-soft);white-space:nowrap;opacity:0;transition:opacity .2s;z-index:3}
.contact-figure-label.is-active{opacity:1}
.contact-scale-title{position:absolute;bottom:0;right:0;font:10px var(--mono,monospace);letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}
.contact-figure-fallback{display:none;position:absolute;width:80px;height:157px;top:45px;left:calc(50% - 40px);color:var(--ink-soft)}
.contact-elevation.is-static .contact-figure-fallback{display:block}
@media(max-width:760px){#contact .contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}#contact .contact-lead{font-size:clamp(29px,7.4vw,42px)}#contact .contact-email{font-size:clamp(17px,4.75vw,25px)}#contact .contact-email-row{gap:10px;margin-top:20px}.contact-elevation{margin-top:0;height:280px}.contact-scale-title{top:4px;bottom:auto;font-size:9px;letter-spacing:.08em}.contact-figure-label{top:26px}.contact-copy{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.contact-ground .cf-dimension{display:none}.contact-figure-label,.contact-lantern-pool,#contact .contact-copy{transition:none}}
