
.projects-content[aria-label="Contact"]{padding:65px 6% 45px!important;max-width:1300px;margin:auto}.contact-phone-scene{position:relative;min-height:650px;display:flex;justify-content:center;align-items:center}.hanging-receiver{position:absolute;left:-2%;top:-115px;width:25%;height:780px;object-fit:contain;object-position:top;transform:rotate(8deg);pointer-events:none;animation:receiver-sway 6s ease-in-out infinite;transform-origin:50% 0}.contact-dial-wrap{width:min(58vw,520px);margin-left:10%;text-align:center}.contact-overline{font:10px/1.5 Arial;letter-spacing:3px;color:#f2d7c9;margin:0 0 28px}.rotary-dial{position:relative;aspect-ratio:1;width:100%;border-radius:50%;background:radial-gradient(circle at 32% 22%,#d3cdbb 0,#aaa99c 44%,#8c8d82 80%,#bcb5a2 100%);border:3px solid #55584e;box-shadow:inset 0 0 0 3px #e2dcc4,inset 0 0 0 7px #7f8175,9px 16px 25px #260d1740;container-type:inline-size}.dial-center{position:absolute;inset:24%;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at 35% 30%,#fff7dd,#ece1c4);border:3px solid #64685b;box-shadow:0 0 0 5px #ccc7b3,0 0 0 7px #686b5e,inset 0 2px 12px #635a4130;color:#76283c}.dial-center>span{font:700 5cqw Arial;letter-spacing:.2cqw}.dial-center em{font:italic 10.4cqw/.95 Georgia;margin-top:1cqw}.dial-center small{font:1.7cqw Arial;letter-spacing:.4cqw;margin-top:3cqw}.dial-contact,.dial-hole{position:absolute;left:var(--x);top:var(--y);width:16%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #66695f;background:radial-gradient(circle at 35% 30%,#fff9e7,#e6dbc0);box-shadow:0 0 0 3px #d8d2bf,0 0 0 5px #777b6e,inset 1px 2px 5px #6a65432a}.dial-contact{color:#76283c;cursor:pointer;padding:0;display:flex;flex-direction:column;gap:.7cqw;align-items:center;justify-content:center;font:500 2cqw Arial;transition:background .2s,box-shadow .2s}.dial-icon{font:bold 5cqw/1 Georgia}.dial-contact:hover{background:#f8bed0;box-shadow:0 0 0 3px #ffe4eb,0 0 0 5px #777b6e}.dial-contact:focus-visible{outline:3px solid #ffc4d7;outline-offset:6px}.dial-hole{opacity:.8}.dial-stop{position:absolute;right:9%;bottom:8%;height:20%;width:7%;background:linear-gradient(90deg,#5a5e53,#d3cdbc,#73796c);border:2px solid #575c50;border-radius:35% 35% 12% 12%;transform:rotate(-39deg);box-shadow:3px 2px 4px #0003}.dial-hint{font:italic 17px Georgia;color:#f2d7c9;margin-top:28px}.contact-detail-dialog{background:#f5efdf;color:#76283c;border:0;border-radius:12px;padding:40px;max-width:90vw}.contact-detail-dialog::backdrop{background:#290b1e88}.contact-detail-close{position:absolute;right:14px;top:8px;border:0;background:none;color:inherit;font-size:26px;cursor:pointer}.contact-detail-dialog h2{font:30px Georgia;margin:0 0 18px}.contact-detail-dialog p{font:16px/1.6 Arial}@keyframes receiver-sway{0%,100%{transform:rotate(7deg)}50%{transform:rotate(10deg)}}@media(prefers-reduced-motion:reduce){.hanging-receiver{animation:none}}@media(max-width:700px){.contact-phone-scene{min-height:580px}.contact-dial-wrap{width:72vw;margin-left:5%}.hanging-receiver{width:32%;height:430px;top:-80px;left:-12%;opacity:.9}.contact-overline{font-size:8px;letter-spacing:2px}.projects-content[aria-label="Contact"]{padding-top:110px!important}}@media(max-width:450px){.contact-dial-wrap{width:70vw;margin-left:0}.contact-phone-scene{min-height:490px}.hanging-receiver{height:330px;top:-95px;left:-10%}.dial-hint{font-size:14px}}

.dial-option-pending{cursor:default}.dial-option-pending:hover{background:radial-gradient(circle at 35% 30%,#fff9e7,#e6dbc0);box-shadow:0 0 0 3px #d8d2bf,0 0 0 5px #777b6e,inset 1px 2px 5px #6a65432a}

.dial-icon svg{width:5cqw;height:5cqw;display:block}.rotary-dial{touch-action:none;cursor:grab;user-select:none;will-change:transform}.rotary-dial.is-dragging{cursor:grabbing}.rotary-dial:focus-visible{outline:3px dashed #f5b9cb;outline-offset:12px}.dial-option-pending{pointer-events:none}.dial-center{pointer-events:none}.contact-dial-wrap:after{content:none!important;display:none!important}

.dial-contact{transform-origin:center}.rotary-dial{isolation:isolate}.hanging-receiver{z-index:0}.contact-dial-wrap{position:relative;z-index:1}

.dial-option-pending{pointer-events:auto;cursor:pointer}.contact-channel-popup{width:390px;max-width:88vw;background:#f5efdf;color:#76283c;border:0;border-radius:5px;padding:42px 32px 30px;text-align:center;box-shadow:8px 12px 0 #3d102b35;transform:rotate(-2deg)}.contact-channel-popup[open]{animation:channel-arrive .25s ease-out}.contact-channel-popup::backdrop{background:#260d1f88;backdrop-filter:blur(4px)}.contact-channel-popup:before{content:'';position:absolute;width:100px;height:25px;top:0;left:calc(50% - 50px);background:#d9b8a980;transform:rotate(4deg)}.channel-close{position:absolute;top:10px;right:15px;border:0;background:transparent;color:inherit;font:27px Arial;cursor:pointer}.channel-eyebrow{font:9px Arial;letter-spacing:2px}.channel-icon{margin:28px auto 14px;width:50px;height:50px}.channel-icon svg{width:100%;height:100%}.contact-channel-popup h2{font:38px Georgia;margin:0 0 20px}.channel-detail{font:15px/1.6 Arial;overflow-wrap:anywhere}.channel-link{display:inline-block;margin-top:15px;padding:12px 20px;border-radius:30px;background:#76283c;color:#f5efdf;font:13px Arial}.channel-link[hidden]{display:none}.channel-signature{display:block;border-top:1px solid #76283c33;padding-top:18px;margin-top:28px;font:italic 20px Georgia}@keyframes channel-arrive{from{opacity:0;transform:translateY(20px) rotate(-4deg)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}

.contact-dial-wrap{width:min(62vw,590px)}.rotary-dial{background:radial-gradient(circle at 30% 18%,#f1f1ed 0%,#c8cbc8 27%,#9ba09b 56%,#737a75 82%,#c4c7c2 100%);border-color:#545c56;box-shadow:inset 0 0 0 3px #e5e7e2,inset 0 0 0 7px #818a82,10px 17px 26px #260d1740}.dial-center{border-color:#626c64;box-shadow:0 0 0 5px #c6cdc6,0 0 0 7px #68736a,inset 0 2px 12px #635a4120}.dial-contact,.dial-hole,.dial-option-pending:hover{border-color:#626d64;box-shadow:0 0 0 3px #d9ded7,0 0 0 5px #7d887e,inset 1px 2px 5px #4e5b502a}.dial-stop{background:linear-gradient(90deg,#656e67,#edf0e9,#8b968b);border-color:#58645a}@media(max-width:700px){.contact-dial-wrap{width:76vw}}@media(max-width:450px){.contact-dial-wrap{width:73vw}}

.hanging-receiver{width:31%;height:880px;left:-5%}@media(max-width:700px){.hanging-receiver{width:39%;height:500px;left:-15%}}@media(max-width:450px){.hanging-receiver{width:38%;height:390px;left:-14%}}

.contact-dial-wrap{width:min(52vw,490px)}@media(max-width:700px){.contact-dial-wrap{width:66vw}}@media(max-width:450px){.contact-dial-wrap{width:64vw}}

.hanging-receiver{height:1050px;object-fit:fill}@media(max-width:700px){.hanging-receiver{height:610px}}@media(max-width:450px){.hanging-receiver{height:480px}}

.hanging-receiver{width:26%;height:calc(100% + 40px);max-height:700px;object-fit:contain;object-position:top;top:-55px;left:-3%}@media(max-width:700px){.hanging-receiver{width:32%;height:430px;max-height:calc(100% - 20px);top:-40px;left:-10%}}@media(max-width:450px){.hanging-receiver{width:31%;height:350px;top:-30px;left:-9%}}

.hanging-receiver{width:33%;height:790px;max-height:none;top:-95px;left:-5%;object-fit:contain}@media(max-width:700px){.hanging-receiver{width:39%;height:500px;top:-65px;left:-13%}}@media(max-width:450px){.hanging-receiver{width:38%;height:400px;top:-55px;left:-12%}}

.hanging-receiver{width:39%;height:920px;left:-7%;top:-110px}@media(max-width:700px){.hanging-receiver{width:45%;height:580px;left:-15%;top:-75px}}@media(max-width:450px){.hanging-receiver{width:44%;height:460px;left:-14%;top:-65px}}

.hanging-receiver{width:47%;height:1080px;left:-10%;top:-135px}@media(max-width:700px){.hanging-receiver{width:53%;height:680px;left:-18%;top:-90px}}@media(max-width:450px){.hanging-receiver{width:52%;height:540px;left:-17%;top:-80px}}
/* Glossy red handset and cream rotary dial, inspired by the supplied reference. */
.contact-phone-scene{min-height:790px;max-width:1000px;margin:auto;isolation:isolate}
.receiver-burgundy-clip{clip-path:none!important;z-index:2}
.hanging-receiver{width:650px;height:auto;max-height:none;left:calc(50% - 465px);top:-20px;object-fit:contain;transform:none!important;animation:none!important;filter:drop-shadow(7px 15px 12px #30041135)}
.contact-dial-wrap{position:relative;z-index:3;width:min(53vw,520px);margin-left:200px}
.rotary-dial{background:radial-gradient(circle at 30% 25%,#fff9ef 0%,#f5d9c9 55%,#e9b9ac 100%);border:3px solid #64121c;box-shadow:inset 0 0 0 3px #fff4df,inset 0 0 0 7px #d28078,8px 14px 22px #30041145}
.dial-center{background:radial-gradient(circle at 32% 25%,#fff7e9,#f1c3ad);border:2px solid #dc9a88;box-shadow:0 0 0 5px #ffe4d1,0 0 0 7px #b9665c,inset 0 2px 12px #ad514533;color:#941d2d}
.dial-contact,.dial-hole{background:radial-gradient(circle at 30% 20%,#fffdf5,#f4d8c8);border:1px solid #bb796a;box-shadow:0 0 0 2px #ffe9d9,0 0 0 3px #b26b62,inset 1px 2px 5px #a6553820}
.dial-contact{color:#941d2d}.dial-contact:hover{background:#fff5e3;box-shadow:0 0 0 3px #fff1df,0 0 0 5px #ce504d}
.dial-stop{background:linear-gradient(90deg,#70151d,#ff433a,#9d1b24);border-color:#69131b}.contact-overline{letter-spacing:2px}
@media(max-width:700px){.contact-phone-scene{min-height:610px}.hanging-receiver{width:490px;left:calc(50% - 310px);top:5px;height:auto}.contact-dial-wrap{width:64vw;margin-left:95px}.contact-overline{font-size:8px;letter-spacing:1.3px}}
@media(max-width:450px){.contact-phone-scene{min-height:500px}.hanging-receiver{width:390px;left:calc(50% - 245px);top:8px;height:auto}.contact-dial-wrap{width:66vw;margin-left:65px}}
.receiver-burgundy-clip{z-index:4}.hanging-receiver{pointer-events:none}.contact-phone-scene{min-height:700px}.contact-dial-wrap{width:min(53vw,500px)}
@media(max-width:700px){.contact-phone-scene{min-height:610px}.contact-dial-wrap{width:64vw}}
@media(max-width:450px){.contact-phone-scene{min-height:500px}.contact-dial-wrap{width:66vw}}
/* Keep every contact icon unobstructed by the handset and cable. */
.receiver-burgundy-clip{z-index:2}.contact-dial-wrap{z-index:3}
.contact-phone-scene .receiver-burgundy-clip{z-index:0!important}.contact-phone-scene .contact-dial-wrap{position:relative;z-index:10!important}.contact-phone-scene .rotary-dial{position:relative;isolation:isolate}
@keyframes red-receiver-gentle-sway{0%,100%{translate:-5px 0;rotate:-1deg}50%{translate:5px 0;rotate:1deg}}
.hanging-receiver{transform-origin:28% 15%;animation:red-receiver-gentle-sway 5s ease-in-out infinite!important;will-change:translate,rotate}
@media(prefers-reduced-motion:reduce){.hanging-receiver{animation:none!important;translate:0 0;rotate:0deg}}
@keyframes red-receiver-opening-turn{0%{rotate:-360deg;opacity:0}15%{opacity:1}100%{rotate:-1deg;opacity:1}}
.hanging-receiver{animation:red-receiver-opening-turn 1.8s cubic-bezier(.22,1,.36,1) both,red-receiver-gentle-sway 5s ease-in-out 1.8s infinite!important}
@media(prefers-reduced-motion:reduce){.hanging-receiver{animation:none!important;rotate:0deg;opacity:1}}
.contact-channel-popup:before{width:124px;height:30px;left:calc(50% - 62px);top:-12px;background:repeating-linear-gradient(93deg,#f8e6c729 0 2px,#e5c5a638 2px 4px),linear-gradient(180deg,#fff4db80,#dbba9366 45%,#f7e2c77a);border-top:1px solid #fff8e980;border-bottom:1px solid #b9986b33;box-shadow:0 2px 3px #4c211016,inset 0 1px 2px #fff8e947;clip-path:polygon(0 4%,4% 0,7% 6%,11% 2%,16% 5%,20% 0,96% 2%,100% 8%,97% 16%,100% 25%,97% 36%,100% 47%,97% 58%,100% 70%,97% 82%,100% 96%,95% 100%,6% 97%,0 100%,3% 87%,0 77%,3% 65%,0 53%,3% 41%,0 29%,3% 17%);transform:rotate(-4deg);pointer-events:none}.contact-channel-popup{overflow:visible}
/* Only the dial turns on entry; the receiver keeps its subtle sway. */
.hanging-receiver{animation:red-receiver-gentle-sway 5s ease-in-out infinite!important;opacity:1}
@media(prefers-reduced-motion:reduce){.hanging-receiver{animation:none!important}}
