.contact-hero{position:relative;isolation:isolate;background:var(--bg);min-height:100svh;padding:130px 4vw 35px;display:flex;flex-direction:column;overflow:hidden}
.contact-top,.contact-hero-foot,.contact-details-top,.contact-email-foot{display:flex;justify-content:space-between;gap:24px}
.contact-top{font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.contact-hero h1{position:relative;z-index:2;font-size:clamp(76px,11.5vw,185px);line-height:.93;letter-spacing:-.065em;margin:65px 0 60px;color:#e5e4e0;mix-blend-mode:difference;pointer-events:none}
.contact-hero h1>span{display:block;padding:0}.contact-hero h1>span:nth-child(2){padding-left:13vw}.contact-hero h1>span:nth-child(3){padding-left:28vw}
.contact-orbit{position:absolute;z-index:1;width:clamp(300px,44vw,660px);aspect-ratio:1;right:7vw;top:21%;pointer-events:none;animation:contactFloat 14s ease-in-out infinite}
.contact-orb{position:absolute;inset:0;background:#191a1e;border-radius:50%}.orbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#191a1e;top:5%;left:-14%}
@keyframes contactFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-25px,25px,0)}}
.contact-hero-foot{position:relative;z-index:2;align-items:end;margin-top:auto}.contact-index{font-size:10px;letter-spacing:.08em}.contact-hero-foot p{font-size:17px;line-height:1.6;margin:0 0 0 auto}.contact-down{width:54px;height:54px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin-left:40px}.contact-down svg{width:22px}.contact-down:hover{background:var(--paper)}
.contact-details{padding:90px 6vw 110px;max-width:1600px;margin:auto;scroll-margin-top:80px}.contact-details-top{padding-bottom:40px;border-top:1px solid var(--line);padding-top:24px}.contact-details h2{font-size:clamp(40px,5vw,75px);margin:15px 0 25px}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:clamp(30px,6.6vw,104px);letter-spacing:-.055em;line-height:1.3;border-bottom:1px solid var(--ink);padding-bottom:20px}.contact-email svg{width:clamp(30px,5vw,70px);flex:none;transition:transform .35s}.contact-email:hover{text-decoration:none}.contact-email:hover svg{transform:translate(5px,-5px)}
.contact-email-foot{position:relative;align-items:start;margin-top:24px}.contact-email-foot p{font-size:17px;line-height:1.6;margin:0}.copy-email{font:inherit;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border:0;border-bottom:1px solid var(--ink);background:none;padding:8px 0;cursor:pointer;display:flex;gap:25px}.copy-status{position:absolute;right:0;top:45px;font-size:12px}.copy-email:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.contact-next{margin-top:100px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:.65fr 1fr 1fr;gap:7vw}.contact-next h3{font-size:26px;font-weight:400;letter-spacing:-.035em;line-height:1.2;margin:0 0 16px}.contact-next p{font-size:16px;line-height:1.65;margin:0 0 26px;color:var(--muted)}
@media(max-width:760px){.contact-hero{min-height:85svh;padding:112px 20px 30px}.contact-top>span:last-child{display:none}.contact-hero h1{font-size:clamp(55px,12vw,92px);margin:100px 0 110px}.contact-hero h1>span:nth-child(2){padding-left:9vw}.contact-hero h1>span:nth-child(3){padding-left:28vw}.contact-orbit{width:66vw;right:6vw;top:24%}.contact-index{display:none}.contact-hero-foot p{margin:0;font-size:14px}.contact-down{margin:0;width:44px;height:44px;flex:none}.contact-details{padding:55px 20px 70px}.contact-details-top{gap:20px}.contact-details-top .label{font-size:9px}.contact-email{font-size:7.8vw;gap:10px;padding-bottom:18px}.contact-email svg{width:27px}.contact-email-foot p{font-size:14px}.copy-email{font-size:10px;gap:8px;white-space:nowrap}.contact-next{grid-template-columns:1fr;gap:32px;margin-top:75px}.contact-next h3{font-size:25px}.contact-next p{max-width:40ch}}
@media(prefers-reduced-motion:reduce){.contact-orbit{animation:none}.contact-email svg{transition:none}}
/* A shared left edge and two clear headline lines anchor the composition. */
.contact-hero{padding:132px max(24px,5vw) 42px;min-height:100svh;justify-content:center}
.contact-top{position:absolute;top:132px;left:5vw;right:5vw}
.contact-hero h1{font-size:clamp(65px,9.5vw,148px);line-height:1.02;letter-spacing:-.055em;margin:95px 0 48px}
.contact-hero h1>span{overflow:hidden;padding:0!important}
.contact-hero h1>span:nth-child(2){padding-left:8vw!important}
.contact-hero h1 i{display:block;font-style:normal;animation:contactTypeIn 1.25s cubic-bezier(.16,1,.3,1) both;animation-delay:.25s}
.contact-hero h1>span:nth-child(2) i{animation-delay:.42s}
.contact-orbit{width:min(46vw,650px);right:8vw;top:20%;animation:none;will-change:transform}
.contact-orb{animation:contactCircleIn 1.65s cubic-bezier(.16,1,.3,1) both}
.contact-hero-foot{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:30px;max-width:640px}
.contact-index{display:none}.contact-hero-foot p{margin:0;font-size:18px}.contact-down{margin:0}
.contact-top,.contact-hero-foot{animation:contactFadeIn 1s ease both;animation-delay:1s}
.contact-details{padding-left:5vw;padding-right:5vw}.contact-next{grid-template-columns:1fr 1fr;gap:4vw}.contact-next>.label{grid-column:1/-1}.contact-next>div{max-width:460px}
@keyframes contactTypeIn{from{transform:translateY(115%) rotate(3deg);opacity:0}to{transform:none;opacity:1}}
@keyframes contactCircleIn{from{transform:translateY(140px) scale(.65);opacity:0}to{transform:none;opacity:1}}
@keyframes contactFadeIn{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:760px){.contact-hero{padding:120px 20px 40px;min-height:90svh}.contact-top{top:115px;left:20px;right:20px}.contact-hero h1{font-size:12vw;margin:100px 0 65px}.contact-hero h1>span:nth-child(2){padding-left:5vw!important}.contact-orbit{width:76vw;right:3vw;top:25%}.contact-hero-foot{margin-top:40px;gap:20px}.contact-hero-foot p{font-size:14px}.contact-next{grid-template-columns:1fr;gap:30px}.contact-details{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.contact-hero h1 i,.contact-orb,.contact-top,.contact-hero-foot{animation:none}.contact-orbit{will-change:auto}}
.contact-cursor{display:none;position:fixed;left:0;top:0;z-index:400;pointer-events:none;mix-blend-mode:difference;opacity:0}
.contact-cursor span{display:block;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);transition:transform .25s}
.contact-cursor.grow span{transform:translate(-50%,-50%) scale(4)}
@media(hover:hover) and (pointer:fine){body.has-contact-cursor,body.has-contact-cursor a,body.has-contact-cursor button{cursor:none}.has-contact-cursor .contact-cursor{display:block}}
