/* A commission desk: warm typography, optical glass and brushed metal. */
#contact{padding:125px 7% 130px;background:radial-gradient(ellipse at 5% 38%,#48325323,transparent 47%),linear-gradient(#08070dd9,#0c0a11f5 32%,#07060d);isolation:isolate}
#contact::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 49.95%,#e2d7ff06 50%,transparent 50.05%)}
#contact .section-meta{padding-top:24px;border-color:#ddd1eb36;color:#a49bac}
#contact .section-meta>span:first-child{color:#d8cedf}
#contact .contact-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7%;align-items:start;padding-top:72px;max-width:1400px;margin:auto}
#contact .contact-copy{position:relative;padding-top:15px;min-width:0}
.contact-kicker{display:flex;gap:13px;align-items:center;font-size:10px;font-weight:500;letter-spacing:.16em;line-height:1.7;color:#b9aeca;margin-bottom:28px}
.contact-kicker-line{height:1px;width:27px;flex:none;background:#c6b0e8}
#contact h2{color:#f1ede8;font-size:clamp(68px,7.1vw,117px);font-weight:500;line-height:.9;letter-spacing:-.024em}
#contact h2 em{display:inline-block;color:#c3aedf;font-style:italic;font-weight:500;padding-right:8px;background:linear-gradient(110deg,#ede3fb,#bc9bde 65%,#78628e);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
#contact .contact-copy>p{font-size:15px;color:#b4a9bf;line-height:1.9;max-width:380px;margin-top:28px}
.contact-sculpture{height:285px;position:relative;margin:15px -3% 8px;perspective:1000px;isolation:isolate;pointer-events:none}
.contact-sculpture-glow{position:absolute;inset:10%;background:radial-gradient(ellipse,#9e73c824,transparent 67%);filter:blur(10px)}
.contact-aperture{position:absolute;width:230px;height:230px;top:6px;left:50%;margin-left:-115px;border:1px solid #cfc5db33;border-radius:50%;transform:rotateX(24deg) rotateY(-20deg) rotateZ(-28deg);box-shadow:0 0 0 13px #f1e8ff03,0 0 0 14px #d4c1e61a,inset 0 0 35px #e2d2f410;animation:contact-aperture-drift 16s ease-in-out infinite}
.contact-aperture::before,.contact-aperture::after{content:'';position:absolute;inset:11%;border:1px solid #d4c4e722;border-radius:50%}
.contact-aperture::after{inset:3%;border-style:dashed;border-color:#d4c4e714}
.contact-aperture i{position:absolute;left:50%;top:50%;width:77px;height:55px;transform-origin:0 0;background:linear-gradient(130deg,#eee8f124,#17131a11 55%);border-top:1px solid #e2d5ed32;clip-path:polygon(0 0,100% 0,72% 100%,0 85%);transform:rotate(0deg) translate(19px,-18px)}
.contact-aperture i:nth-child(2){transform:rotate(60deg) translate(19px,-18px)}
.contact-aperture i:nth-child(3){transform:rotate(120deg) translate(19px,-18px)}
.contact-aperture i:nth-child(4){transform:rotate(180deg) translate(19px,-18px)}
.contact-aperture i:nth-child(5){transform:rotate(240deg) translate(19px,-18px)}
.contact-aperture i:nth-child(6){transform:rotate(300deg) translate(19px,-18px)}
.contact-film-stack{position:absolute;left:50%;top:49%;width:75%;height:132px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateY(-18deg) rotateX(13deg) rotateZ(-7deg);animation:contact-film-float 8s ease-in-out infinite}
.contact-film-plate{position:absolute;inset:0;border-radius:4px;border:1px solid #c4b0d457;box-shadow:0 20px 40px #0004;background:linear-gradient(125deg,#fff1 0%,#100b1ddd 40%,#1e152e99 80%);backface-visibility:hidden}
.contact-film-plate-far{transform:translateZ(-54px) translate(31px,-17px);background:linear-gradient(120deg,#b8a4c31a,#21152c66);border-color:#e2d2f32b}
.contact-film-plate-back{transform:translateZ(-27px) translate(17px,-9px);border-color:#e2d2f344;background:linear-gradient(125deg,#e0c1fc1a,#170d2088)}
.contact-film-plate-main{transform:translateZ(0);display:grid;place-items:center;overflow:hidden;box-shadow:0 2px 0 #eadfff3b,0 8px 0 #17101f,0 9px 0 #69566d,0 30px 50px #0008}
.contact-film-plate-main::before,.contact-film-plate-main::after{content:'';position:absolute;top:10px;bottom:10px;width:5px;background:repeating-linear-gradient(to bottom,#cfc0e044 0 4px,transparent 4px 10px)}
.contact-film-plate-main::before{left:9px}.contact-film-plate-main::after{right:9px}
.contact-film-plate-main img{position:relative;width:86%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 18px #8e53c333);opacity:.92;transform:translateZ(15px)}
.contact-film-reflection{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#eee7fa20 49%,transparent 61%);transform:translateX(-95%);animation:contact-reflection 9s ease-in-out infinite}
.contact-sculpture-caption{position:absolute;bottom:20px;left:8%;right:8%;display:flex;justify-content:space-between;gap:20px;color:#b4a6bf;font-size:9px;letter-spacing:.16em;line-height:1.8}
.contact-sculpture-caption>span{color:#73697e;font-size:8px}
.contact-direct{border-top:1px solid #dbcee229;padding-top:22px}
.contact-direct>span{font-size:10px;color:#a79bb3;letter-spacing:.13em}
#contact .contact-email{color:#e5dee9;font-size:clamp(12px,1.17vw,17px);margin-top:13px;justify-content:space-between;gap:12px;line-height:1.6;letter-spacing:-.02em;padding-bottom:8px}
#contact .contact-email>span{color:#c1abd9;font-weight:300;transition:transform .3s}
#contact .contact-email:hover>span{transform:translate(3px,-3px)}
#contact .socials{margin-top:23px;gap:28px;display:grid;grid-template-columns:1fr 1fr}
#contact .socials a{padding:0 0 16px;border:0;border-bottom:1px solid #d5c7e32b;border-radius:0;box-shadow:none;background:none;color:#9e92ab;font-size:9px;letter-spacing:.13em;gap:10px}
#contact .socials a>span{display:flex;justify-content:space-between;font-size:13px;letter-spacing:0;color:#e1d6ec}
#contact .socials b{font-weight:400;color:#b8a3d0}
#contact .socials a:hover{transform:translateY(-2px);border-color:#c5aadf}
#contact .contact-console{--panel-x:0deg;--panel-y:0deg;padding:30px;background:linear-gradient(145deg,#252129e8,#111016f7 27%,#121017f5);border:1px solid #c8bed13d;border-radius:14px;box-shadow:0 1px 0 #f2e7ff21 inset,0 0 0 5px #08070a80,0 0 0 6px #b09ab518,9px 11px 0 #08060c,10px 12px 0 #8d769434,0 35px 75px #0007;transform:rotateX(calc(var(--panel-x)*.35)) rotateY(calc(var(--panel-y)*.35));transition:transform .45s ease}
#contact .contact-console::before{border-radius:14px;background:linear-gradient(135deg,#e7dff812,transparent 36%);z-index:0}
#contact .console-top{font-size:9px;letter-spacing:.11em;color:#ccc2d4;border-color:#dacbdf25;padding-bottom:19px;margin-bottom:22px;gap:16px}
#contact .console-top>span:last-child{color:#9d92a7;font-size:8px}
#contact .console-top i{background:#bfb0d1;box-shadow:0 0 8px #cab6e35c;width:4px;height:4px}
#contact .console-bottom{font-size:8px;letter-spacing:.13em;border-color:#dacbdf20;color:#807386;padding-top:18px;margin-top:22px}
#contact .booking-form{color:#f1ebe5}
#contact .booking-preview{height:195px;border:1px solid #dbcee52b;border-radius:6px;background:radial-gradient(ellipse at 55% 50%,color-mix(in srgb,var(--booking-accent) 10%,transparent),transparent 60%),#09080e;box-shadow:0 1px 0 #08070f,0 1px 20px #0005 inset;overflow:hidden;perspective:800px}
.booking-preview-light{position:absolute;left:50%;top:48%;width:85%;height:1px;transform:translate(-50%,-50%) rotate(-25deg);box-shadow:0 0 50px 25px color-mix(in srgb,var(--booking-accent) 13%,transparent);background:transparent}
#contact .booking-film-object{width:62%;max-width:285px;height:101px;top:49%;left:50%;margin:0;transform:translate(-50%,-50%) rotateX(calc(10deg + var(--preview-x))) rotateY(calc(-15deg + var(--preview-y))) rotateZ(-5deg);animation:booking-film-float 7s ease-in-out infinite}
.booking-film-layer{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--booking-accent) 30%,#ffffff16);border-radius:3px;transform-style:preserve-3d;transition:border-color .6s,background .6s}
.booking-film-layer-back{transform:translateZ(-35px) translate(27px,-15px);background:linear-gradient(130deg,#fff1,#080710b3);border-color:#c7b8d127}
.booking-film-layer-middle{transform:translateZ(-18px) translate(13px,-7px);background:linear-gradient(110deg,color-mix(in srgb,var(--booking-accent) 10%,transparent),#0c0a1099)}
.booking-film-layer-front{display:grid;place-items:center;overflow:hidden;transform:translateZ(0);background:linear-gradient(125deg,#f6ebff13,#0e0a15ee 42%,color-mix(in srgb,var(--booking-shadow) 50%,#0a0810));box-shadow:0 1px 0 #f6eaff2b inset,0 5px 0 #0b0910,0 6px 0 color-mix(in srgb,var(--booking-accent) 22%,transparent),0 20px 35px #0008}
.booking-film-layer-front::before,.booking-film-layer-front::after{content:'';position:absolute;width:3px;top:8px;bottom:8px;background:repeating-linear-gradient(to bottom,#d7c9e44f 0 3px,transparent 3px 8px)}
.booking-film-layer-front::before{left:7px}.booking-film-layer-front::after{right:7px}
.booking-film-layer-front img{width:78%;height:97px;object-fit:contain;filter:drop-shadow(0 3px 10px #a25ced28)}
.booking-film-sweep{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#efe3ff16 50%,transparent 63%);transform:translateX(-100%);animation:contact-reflection 8s ease-in-out infinite}
.booking-film-number{position:absolute;right:-28px;bottom:-19px;transform:translateZ(28px);font:500 29px/.9 'Barlow Condensed',sans-serif;letter-spacing:.03em;color:var(--booking-accent);text-shadow:0 3px 20px #0008;background:#131019e8;padding:9px 11px;border:1px solid #d8c7e126;box-shadow:3px 4px 0 #08060d;transition:color .6s}
#contact .booking-preview-meta,#contact .booking-preview-caption{font-size:8px;letter-spacing:.11em;left:15px;right:15px;color:#a59aad}
#contact .booking-preview-meta{top:14px;align-items:center}
#contact .booking-preview-meta>span:first-child{font-size:7px;max-width:145px;line-height:1.6}
#contact .booking-preview-meta>span:last-child{font-size:8px;color:#d6c5e9}
#contact .booking-preview-caption{bottom:13px;color:#d4c1e4;align-items:center}
#contact .booking-preview-caption>span:last-child{color:#8f819d;font-size:7px}
#contact .booking-progress{gap:16px;margin:26px 0 29px}
#contact .booking-progress li{padding-top:12px;font-size:11px;gap:7px;color:#877c92;border-color:#cfc0da24}
#contact .booking-progress li>span{font-size:9px;color:#8f7f9e}
#contact .booking-progress li[aria-current=step]{border-color:#cfbddf;color:#f0e7f9}
#contact .booking-progress li[aria-current=step]>span{color:#d3c1e6}
#contact .booking-step legend{font-size:clamp(29px,2.9vw,40px);line-height:1.02;font-weight:500;letter-spacing:-.01em;color:#f2ede8;margin-bottom:12px}
#contact .booking-step legend>span{font-size:8px;letter-spacing:.16em;color:#a696b5;margin-bottom:11px}
#contact .booking-intro{font-size:12px;color:#a89bad;line-height:1.75;margin-bottom:22px!important}
#contact .booking-service-options{gap:11px;margin-top:22px}
#contact .booking-choice>span{min-height:131px;padding:17px;border-radius:5px;border:1px solid #cbb8db2c;background:linear-gradient(145deg,#eee8f804,#0c091040);box-shadow:0 1px 0 #d7c9e005 inset;gap:5px;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s}
#contact .booking-choice b{font-size:23px;color:#c4b7d0;font-weight:500;margin-bottom:8px}
#contact .booking-choice strong{font-size:13px;color:#ede5f1;letter-spacing:-.01em;font-weight:500;line-height:1.5}
#contact .booking-choice small{font-size:10px;line-height:1.6;color:#988aa5}
#contact .booking-choice>span>i:not(.booking-swatch){right:16px;top:17px;font-size:19px;color:#73617f}
#contact .booking-choice:hover>span{border-color:#d4c1e378;background:#c6afe609;box-shadow:0 5px 20px #0002;transform:translateY(-2px)}
#contact .booking-choice input:checked+span{border-color:color-mix(in srgb,var(--booking-accent) 55%,#dfd5e9);background:linear-gradient(130deg,color-mix(in srgb,var(--booking-accent) 11%,#161119),#110d17);box-shadow:0 0 0 1px color-mix(in srgb,var(--booking-accent) 7%,transparent),0 1px 0 #f8efff13 inset}
#contact .booking-choice input:checked+span>b{color:var(--booking-accent)}
#contact .booking-choice input:checked+span>i:not(.booking-swatch){color:#e4d4f1}
#contact .booking-mood-options{gap:9px;margin:21px 0 26px}
#contact .booking-mood-choice>span{padding:15px 7px;min-height:107px;gap:12px}
#contact .booking-mood-choice strong{font-size:11px;max-width:83px}
#contact .booking-swatch{width:29px;height:29px;box-shadow:0 2px 12px #0005}
#contact .booking-form .booking-field{font-size:13px;color:#cfbfdc;margin-bottom:22px;line-height:1.65}
#contact .booking-form .booking-field input,#contact .booking-form .booking-field textarea,#contact .booking-form .booking-field select{font-size:14px;line-height:1.6;border:1px solid #b8a6c335;background:#08060d55;border-radius:5px;min-height:49px;padding:13px 14px;margin-top:9px;color:#f0e7f5;box-shadow:0 1px 8px #0002 inset}
#contact .booking-form .booking-field input::placeholder,#contact .booking-form .booking-field textarea::placeholder{color:#74667f}
#contact .booking-form .booking-field input:focus,#contact .booking-form .booking-field textarea:focus,#contact .booking-form .booking-field select:focus{border-color:#bfa9d4;background:#100b17}
#contact .booking-field>small{font-size:10px;color:#93829f;line-height:1.8;margin-top:9px}
#contact .booking-field>span{font-size:10px;color:#8b7b98}
#contact .booking-fields-row{gap:15px}
#contact .booking-review{padding:15px 17px;border:1px solid #cbb8db2b;border-left:2px solid #b99fd1;background:#c4afde06;border-radius:3px;margin:18px 0 25px}
#contact .booking-review>div{font-size:9px;color:#b7a1ca;letter-spacing:.11em}
#contact .booking-review button{font-size:9px}
#contact .booking-review>p{font-size:12px;color:#c7b7d3;line-height:1.8;margin-top:8px}
#contact .booking-full-review{border-color:#cbb8db26}
#contact .booking-full-review summary{font-size:12px;min-height:49px;color:#cbb6df}
#contact .booking-full-review pre{font-size:12px;line-height:1.8;padding:16px;color:#bdaaca}
#contact .booking-privacy{font-size:10px;color:#91809c;line-height:1.85;margin-top:8px!important}
#contact .booking-actions{gap:16px;margin-top:26px}
#contact .booking-next,#contact .booking-submit{font-size:10px;letter-spacing:.09em;min-height:59px;border-radius:4px;padding:17px 20px;background:linear-gradient(110deg,#f0e9df,#ddd0e7 60%,#c9b5df);color:#211827;box-shadow:0 1px 0 #fff9 inset,0 4px 0 #54435f,0 8px 28px #0004;transition:background .25s,transform .25s,box-shadow .25s}
#contact .booking-next:hover,#contact .booking-submit:hover{background:linear-gradient(110deg,#fff9f0,#eee2fa);box-shadow:0 6px 0 #54435f,0 12px 32px #0006;transform:translateY(-2px)}
#contact .booking-back{font-size:10px;padding-inline:3px;color:#b6a3c7}
#contact .booking-form .booking-note{font-size:10px;line-height:1.8;margin-top:21px;color:#90809a}
#contact .booking-form .booking-error{font-size:12px;line-height:1.7;color:#e3b5b0}
#contact .booking-form .booking-status{font-size:13px;line-height:1.8;padding:15px;background:#17111d;border-color:#bca3cb3c}
#contact .booking-fallback a,#contact .booking-fallback button{font-size:12px;line-height:1.7;color:#d1b8e6}
#contact .booking-form [aria-invalid=true]:not([type=radio]),#contact .booking-choice input[aria-invalid=true]+span{border-color:#e3b5b0}
@keyframes contact-film-float{0%,100%{transform:translate(-50%,-50%) rotateY(-18deg) rotateX(13deg) rotateZ(-7deg)}50%{transform:translate(-50%,calc(-50% - 8px)) rotateY(-9deg) rotateX(8deg) rotateZ(-4deg)}}
@keyframes contact-aperture-drift{50%{transform:rotateX(15deg) rotateY(-9deg) rotateZ(-5deg)}}
@keyframes contact-reflection{0%,35%,100%{transform:translateX(-100%)}70%,80%{transform:translateX(100%)}}
@keyframes booking-film-float{0%,100%{translate:0 -3px}50%{translate:0 4px}}
@media(min-width:1450px){#contact .contact-grid{gap:9%}#contact .contact-console{padding:38px}.contact-sculpture{height:335px}.contact-aperture{top:20px;width:260px;height:260px;margin-left:-130px}.contact-film-stack{height:153px}#contact .booking-preview{height:213px}}
@media(max-width:1000px) and (min-width:701px){#contact{padding-inline:5%}#contact .contact-grid{gap:5%;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}#contact .contact-console{padding:23px}#contact h2{font-size:8vw}.contact-kicker{font-size:8px;letter-spacing:.1em;gap:9px}.contact-kicker-line{width:18px}#contact .contact-copy>p{font-size:13px}.contact-sculpture{height:250px}.contact-film-stack{height:110px;width:78%}.contact-aperture{width:205px;height:205px;margin-left:-102px;top:8px}#contact .socials{gap:19px}#contact .socials a>span{font-size:12px}#contact .booking-choice>span{padding:14px 12px;min-height:129px}#contact .booking-choice strong{font-size:12px}#contact .booking-choice small{font-size:9px}#contact .booking-progress{gap:9px}#contact .booking-progress li{font-size:10px}#contact .booking-preview-meta>span:first-child{max-width:105px}.contact-sculpture-caption{font-size:7px;gap:8px}.contact-sculpture-caption>span{font-size:6px}}
@media(max-width:700px){#contact{padding:88px 7% 85px}#contact .contact-grid{display:grid;grid-template-columns:1fr;gap:44px;padding-top:44px}#contact .contact-copy{padding:0}#contact h2{font-size:clamp(66px,17.4vw,103px);line-height:.88}.contact-kicker{font-size:8px;letter-spacing:.12em;margin-bottom:25px}.contact-kicker-line{width:23px}#contact .contact-copy>p{font-size:14px;line-height:1.9;margin-top:24px}.contact-sculpture{height:253px;margin:14px -1% 1px}.contact-aperture{width:217px;height:217px;margin-left:-108px;top:3px}.contact-film-stack{max-width:360px;height:121px;top:48%}.contact-sculpture-caption{bottom:17px;font-size:8px;left:5%;right:5%}.contact-sculpture-caption>span{font-size:7px}.contact-direct{padding-top:20px}.contact-direct>span{font-size:9px}#contact .contact-email{font-size:13px;line-height:1.7;margin-top:11px}#contact .socials{gap:30px;margin-top:21px}#contact .socials a{font-size:9px}#contact .socials a>span{font-size:13px}#contact .contact-console{padding:25px 22px;transform:none;box-shadow:0 1px 0 #f2e7ff21 inset,0 0 0 4px #08070a80,0 0 0 5px #b09ab518,5px 7px 0 #08060c,6px 8px 0 #8d769434,0 25px 60px #0006}#contact .console-top{font-size:8px;margin-bottom:20px}#contact .console-top>span:last-child{font-size:7px}#contact .booking-preview{height:188px}#contact .booking-film-object{width:66%;height:98px}#contact .booking-preview-meta>span:first-child{font-size:6px;max-width:115px}#contact .booking-preview-meta>span:last-child{font-size:7px}#contact .booking-preview-caption{font-size:7px}#contact .booking-preview-caption>span:last-child{font-size:6px}#contact .booking-progress{gap:11px;margin:24px 0 27px}#contact .booking-progress li{font-size:10px;gap:6px}#contact .booking-step legend{font-size:34px}#contact .booking-step legend>span{font-size:8px}#contact .booking-intro{font-size:12px}#contact .booking-choice>span{min-height:131px;padding:16px 13px}#contact .booking-choice strong{font-size:12px}#contact .booking-choice small{font-size:10px}#contact .booking-choice>span>i:not(.booking-swatch){right:12px;top:15px}#contact .booking-mood-choice>span{min-height:108px;padding:15px 6px}#contact .booking-mood-choice strong{font-size:10px}#contact .booking-form .booking-field input,#contact .booking-form .booking-field textarea,#contact .booking-form .booking-field select{font-size:16px}#contact .booking-fields-row{grid-template-columns:1fr;gap:0}#contact .booking-next,#contact .booking-submit{padding:17px 15px;font-size:9px;letter-spacing:.06em}#contact .booking-form .booking-note{font-size:9px}.booking-film-number{font-size:27px;right:-20px;bottom:-17px}}
@media(max-width:370px){#contact .contact-console{padding:23px 17px}#contact .booking-progress{gap:8px}#contact .booking-progress li{font-size:9px}#contact .booking-step legend{font-size:30px}#contact .booking-choice strong{font-size:11px}#contact .booking-choice small{font-size:9px}#contact .booking-choice>span{padding:14px 11px}#contact .contact-email{font-size:12px}#contact .socials{gap:20px}}
@media(prefers-reduced-motion:reduce){#contact *,#contact *::before,#contact *::after{animation:none!important;transition:none!important}#contact .contact-console{transform:none!important}#contact .booking-film-object{transform:translate(-50%,-50%) rotateX(10deg) rotateY(-15deg) rotateZ(-5deg)!important}}
.reduced-motion #contact *,.reduced-motion #contact *::before,.reduced-motion #contact *::after{animation:none!important;transition:none!important}
.reduced-motion #contact .booking-film-object{transform:translate(-50%,-50%) rotateX(10deg) rotateY(-15deg) rotateZ(-5deg)!important}
#contact .contact-console:focus-within{transform:none}
