.qda-preloader{display:none}
.qda-preloader.is-active{display:grid;place-items:center;position:fixed;inset:0;z-index:10000;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fffdf8 0,#f4ecdd 60%,#e9dfcd 100%);color:#24221c;pointer-events:none;animation:preloaderFailsafe .01s 5s forwards}
.preloader-grid{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(#ac905b25 1px,transparent 1px),linear-gradient(90deg,#ac905b25 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse,#000,transparent 72%)}
.preloader-blueprint{position:absolute;bottom:0;left:50%;width:min(1100px,130vw);height:45vh;transform:translateX(-50%);color:#a88b52;opacity:.18;stroke-dasharray:1600;animation:preloaderDraw 2.4s ease-out both}
.preloader-center{position:relative;text-align:center;padding:24px;animation:preloaderEnter .7s ease-out both}
.preloader-seal{position:relative;width:210px;height:210px;margin:0 auto 30px;display:grid;place-items:center}
.preloader-seal img{width:136px;height:136px;object-fit:contain;padding:10px;border-radius:50%;background:#fff;box-shadow:0 12px 40px #7d633719;position:relative;z-index:2}
.preloader-rings{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#a78438;stroke-width:.8;overflow:visible}
.preloader-ring-outer{transform-origin:100px 100px;animation:preloaderRotate 16s linear infinite}
.preloader-ring-inner{transform-origin:100px 100px;animation:preloaderRotate 10s linear infinite reverse}
.preloader-name{font-family:var(--sans),sans-serif;font-size:clamp(24px,3vw,34px);font-weight:500;letter-spacing:.08em;margin:0 0 12px}
.preloader-caption{font-family:var(--sans),sans-serif;font-size:13px;color:#62533b;letter-spacing:.08em;margin:0}
.preloader-line{width:150px;height:2px;margin:26px auto 18px;background:#d6c7a8;overflow:hidden}
.preloader-line:after{content:'';display:block;width:45%;height:100%;background:#93702b;animation:preloaderSweep 1.5s ease-in-out infinite}
.preloader-status{font-size:12px;color:#635943;letter-spacing:.02em}
.preloader-skip{position:absolute;bottom:30px;inset-inline-end:32px;background:transparent;color:#403a2f;border:1px solid #a99b80;border-radius:24px;padding:11px 18px;font-size:13px;pointer-events:auto;min-height:44px}
.preloader-skip:focus-visible{outline:3px solid #226044;outline-offset:4px}
.qda-preloader.is-leaving{opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s;pointer-events:none}
@keyframes preloaderRotate{to{transform:rotate(360deg)}}
@keyframes preloaderDraw{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}
@keyframes preloaderEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes preloaderSweep{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
@keyframes preloaderFailsafe{to{visibility:hidden;opacity:0;pointer-events:none}}
@media(max-width:600px){.preloader-seal{width:180px;height:180px}.preloader-seal img{width:116px;height:116px}.preloader-name{font-size:24px;letter-spacing:.04em}.preloader-caption{font-size:11px}.preloader-skip{bottom:24px;inset-inline-end:24px}.preloader-blueprint{height:33vh}}
@media(prefers-reduced-motion:reduce){.qda-preloader *{animation:none!important}.qda-preloader.is-leaving{transition:none}}

/* A short architectural overture in obsidian, warm paper and brass. */
.qda-preloader.is-active{background:radial-gradient(ellipse at 50% 38%,#383324 0,#1c211b 43%,#10110f 85%);color:#faf7f2;pointer-events:auto}
.preloader-grid{opacity:.35;background-size:54px 54px;transform:perspective(600px) rotateX(54deg) scale(1.5);transform-origin:50% 80%;mask-image:linear-gradient(transparent 20%,#000);animation:blueprintBreathe 4s ease-in-out infinite alternate}
.preloader-halo{position:absolute;width:min(620px,95vw);aspect-ratio:1;border:1px solid #c9962e30;border-radius:50%;box-shadow:0 0 90px #c9962e0c,inset 0 0 80px #c9962e09;animation:haloBloom 2.2s ease-out both}
.preloader-halo:before,.preloader-halo:after{content:'';position:absolute;inset:35px;border:1px solid #c9962e18;border-radius:50%}
.preloader-halo:after{inset:70px}
.preloader-center{padding:30px 20px;max-width:100%;animation:preloaderEnter .8s ease-out both}
.preloader-eyebrow{display:block;font-size:11px;letter-spacing:.24em;color:#dfc88b;margin-bottom:28px}
.preloader-seal{width:240px;height:240px;margin-bottom:26px}
.preloader-seal>img{width:178px;height:178px;padding:12px;background:#fffdf7;border-radius:50%;box-shadow:0 0 0 8px #ffffff05,0 15px 65px #0005;animation:sealResolve 1s cubic-bezier(.2,.7,.3,1) both}
.preloader-rings{stroke:#d8b45c;stroke-width:1}
.preloader-ring-outer{animation:preloaderRotate 10s linear infinite}
.preloader-ring-inner{animation:preloaderRotate 7s linear infinite reverse}
.preloader-name{font-size:clamp(22px,3vw,38px);font-weight:600;letter-spacing:.035em;color:#faf7f2;margin-bottom:12px}
.preloader-caption{font-size:14px;color:#d1ccbf;letter-spacing:.03em}
.preloader-line{width:180px;height:2px;background:#ffffff15;margin:28px auto 14px}
.preloader-line:after{background:#e8c36b;box-shadow:0 0 12px #e8c36b;animation:preloaderSweep 1.7s ease-in-out infinite}
.preloader-status{color:#d1ccbf;font-size:12px}
.preloader-blueprint{width:min(1500px,160vw);height:32vh;bottom:-20px;opacity:.32;color:#c5a461;stroke-width:1.3;animation:preloaderDraw 2.2s ease-out both;mask-image:linear-gradient(transparent,#000 60%)}
.preloader-skip{color:#faf7f2;border-color:#a18d62;background:#191a16;inset-inline-end:32px;bottom:28px;z-index:3}
.preloader-skip:hover{background:#faf7f2;color:#14130f}
.qda-preloader.is-leaving{transform:translateY(-12px);transition:opacity .55s ease,transform .55s ease,visibility .55s}
@keyframes haloBloom{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}
@keyframes sealResolve{from{opacity:0;transform:scale(.8);filter:blur(5px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes blueprintBreathe{from{opacity:.15}to{opacity:.4}}
@media(max-width:600px){.preloader-seal{width:205px;height:205px}.preloader-seal>img{width:152px;height:152px}.preloader-name{font-size:22px}.preloader-eyebrow{font-size:10px;margin-bottom:22px}.preloader-caption{font-size:13px}.preloader-skip{inset-inline-end:20px;bottom:24px}}
@media(max-height:600px){.preloader-seal{width:150px;height:150px;margin-bottom:14px}.preloader-seal>img{width:114px;height:114px}.preloader-eyebrow{margin-bottom:12px}.preloader-line{margin-block:16px 10px}.preloader-center{padding:12px}}
@media(prefers-reduced-motion:reduce){.qda-preloader *{animation:none!important}.qda-preloader.is-leaving{transition:none}}
