.pixel-snow-container{position:relative;width:100%;height:100%;overflow:hidden}.pixel-snow-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}#contact.contact{position:relative;isolation:isolate;z-index:3;min-height:100svh;height:auto;padding:72px 5vw 24px;color:#463e49;background:radial-gradient(ellipse at 13% 30%,#f3dce4a6,transparent 53%),radial-gradient(ellipse at 86% 75%,#e7e5f285,transparent 52%),linear-gradient(125deg,#fcf8f0,#f8f0ef 56%,#f4f2f6);overflow:hidden}#contact .contact-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;color:#877582}#contact .contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:7vw;min-height:65vh}#contact .animation-slot{position:relative;display:block;aspect-ratio:1.12;width:100%;max-height:66vh;min-height:370px;border:1px solid #b8a4ba77;border-radius:42px;overflow:hidden;background:#050505 url(./assets/contact/frame-background.png) center center / cover no-repeat;box-shadow:0 22px 65px #80677e0c;touch-action:pan-y}#contact .animation-slot:before{content:"";position:absolute;left:15%;right:15%;bottom:9%;height:9%;background:radial-gradient(ellipse,#91819c33,transparent 70%);filter:blur(8px)}#contact .animation-slot>i{z-index:5;pointer-events:none}#contact .contact-scene{position:absolute;inset:0}#contact .contact-person{position:absolute;z-index:2;height:96%;width:100%;bottom:0;left:0;object-fit:contain;pointer-events:none;image-rendering:auto;filter:none}#contact .contact-snow{position:absolute;inset:0;pointer-events:none;opacity:.65}#contact .contact-snow.far{z-index:1}#contact .contact-snow.near{z-index:3;opacity:.35;mask-image:radial-gradient(ellipse at 50% 32%,transparent 15%,#000 58%)}#contact .pixel-snow-container{width:100%;height:100%;pointer-events:none}#contact .contact-copy{min-width:0;padding:20px 0}#contact .contact-copy h2{font-size:clamp(56px,6.7vw,108px);line-height:1.05;letter-spacing:-.055em;margin:0 0 30px;font-weight:450}#contact .contact-copy h2 em{font-family:Georgia,serif;font-weight:400}#contact .contact-copy>p{color:#8d7c89;margin-bottom:44px;line-height:1.8}#contact .contact-copy>a{display:grid;grid-template-columns:70px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:23px 0;border-bottom:1px solid #a793a038;text-decoration:none;color:inherit}#contact .contact-copy small{font-size:10px;letter-spacing:.16em;color:#9d8293}#contact .contact-copy a span{font-size:clamp(14px,1.4vw,22px);overflow-wrap:anywhere}#contact .contact-copy a b{font-size:22px;font-weight:400;transition:transform .2s}#contact .contact-copy a:hover b{transform:translate(3px,-3px)}#contact .footer-line{margin-top:35px;padding-top:22px;border-top:1px solid #bda8b136;color:#9b8b96;font-size:11px;display:flex;justify-content:space-between;gap:18px}#contact .footer-line a{color:inherit}#contact .contact-top .eyebrow{margin:0}@media(max-width:700px){#contact.contact{padding:76px 24px 28px}#contact .contact-top{font-size:11px;margin-bottom:24px}#contact .contact-top>span{display:none}#contact .contact-layout{grid-template-columns:1fr;gap:22px}#contact .animation-slot{aspect-ratio:1.15;min-height:280px;max-height:430px;border-radius:30px}#contact .contact-copy{padding:0}#contact .contact-copy h2{font-size:62px;margin-bottom:22px}#contact .contact-copy>p{font-size:14px;margin-bottom:20px}#contact .contact-copy>a{padding:19px 0;grid-template-columns:60px minmax(0,1fr) 20px;gap:8px}#contact .footer-line{flex-wrap:wrap;font-size:10px}}@media(prefers-reduced-motion:reduce){#contact .contact-snow{display:none}}#contact .contact-scene{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;border-radius:inherit}#contact .contact-person{display:block;position:absolute;z-index:2;inset:auto 0 0;width:100%;height:96%;max-width:none;object-fit:contain;opacity:1;visibility:visible;image-rendering:auto;filter:none}#contact .contact-snow{z-index:1;opacity:1}#contact .contact-snow.near{z-index:3;opacity:.95;mask-image:none;-webkit-mask-image:none}#contact .contact-snow .pixel-snow-container{position:absolute;inset:0;background:transparent}#contact .contact-snow canvas{display:block;width:100%;height:100%;background:transparent}#contact .animation-slot>i{position:absolute;z-index:5}#contact .animation-slot[data-resource-error=true] .contact-person{opacity:0}#contact .contact-layout{padding:24px 0 36px}#contact .contact-copy>a small{grid-column:1;grid-row:1}#contact .contact-copy>a span{grid-column:2;grid-row:1;min-width:0}#contact .contact-copy>a b{grid-column:3;grid-row:1}#contact .animation-slot>i:nth-of-type(1){inset:20px auto auto 20px;border-width:1px 0 0 1px}#contact .animation-slot>i:nth-of-type(2){inset:20px 20px auto auto;border-width:1px 1px 0 0}#contact .animation-slot>i:nth-of-type(3){inset:auto 20px 20px auto;border-width:0 1px 1px 0}#contact .animation-slot>i:nth-of-type(4){inset:auto auto 20px 20px;border-width:0 0 1px 1px}@media(max-width:700px){#contact .contact-layout{padding:0 0 24px}}#contact .contact-snow-backup{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}#contact .contact-snow-backup i{position:absolute;background:#fff;opacity:.75;animation:contact-flake-drift 12s linear infinite;box-shadow:0 0 2px #fff5}@keyframes contact-flake-drift{0%{transform:translateY(-140px)}to{transform:translate(22px,480px)}}@media(prefers-reduced-motion:reduce){#contact .contact-snow-backup i{animation:none}}@media(min-width:701px){#contact.contact{height:100svh;min-height:0;box-sizing:border-box;padding:26px 5vw 24px;display:grid;grid-template-rows:48px minmax(0,1fr) 32px;gap:18px}#contact .contact-top{height:48px;min-height:0;margin:0;padding-right:84px;align-items:center}#contact .contact-layout{min-height:0;padding:0;overflow:hidden}#contact .animation-slot{height:100%;min-height:0;max-height:66svh;aspect-ratio:auto}#contact .contact-copy{padding:0}#contact .contact-copy h2{font-size:clamp(48px,6.7vw,108px);margin-bottom:22px}#contact .contact-copy>p{margin-bottom:28px}#contact .footer-line{height:32px;margin:0;padding-top:12px;align-items:flex-start}}@media(min-width:1600px){#contact.contact{padding-top:32px}}@media(min-width:701px)and (max-height:650px){#contact.contact{gap:10px;padding-bottom:16px;grid-template-rows:48px minmax(0,1fr) 28px}#contact .contact-copy h2{font-size:clamp(40px,5.5vw,74px);margin-bottom:12px}#contact .contact-copy>p{margin-bottom:12px}#contact .contact-copy>a{padding:14px 0}}
