:root{--pink:#ff005b;--ink:#091f2b;--paper:#112f40;--line:#315465;--ease:cubic-bezier(.22,.8,.24,1)}
html{scroll-behavior:smooth}body{background:#071b27;color:#f0f7fa;overflow-x:hidden}body:before{content:"";position:fixed;inset:-20%;z-index:-1;background:radial-gradient(ellipse at 18% 15%,#ff005b23,transparent 45%),radial-gradient(ellipse at 85% 60%,#1b7c972b,transparent 45%);animation:ambient 16s ease-in-out infinite alternate;pointer-events:none}
main{max-width:900px;padding:30px 22px 60px}.brand img{width:min(100%,320px)!important}.eyebrow{color:#ff719f;font:800 11px/1.4 Arial;letter-spacing:2px;text-transform:uppercase;margin:24px 0 10px}h1{font-size:clamp(34px,7vw,62px);letter-spacing:-2px;font-weight:900;margin:0;line-height:1.02}h1 span{color:var(--pink)}.intro{max-width:560px;font-size:16px;line-height:1.6;margin:16px 0 24px;color:#b9ced8}.hero{animation:heroIn .55s var(--ease) both}
.inspiration{margin:24px 0 28px}.gallery-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.gallery-head p{margin:0;font-size:11px;font-weight:800;letter-spacing:1.5px;color:#c5d8e3}.quiet{padding:8px 12px;border:1px solid #416073;border-radius:20px;background:#173447;font-size:12px;width:auto!important}.quiet:hover{background:#284b60}.gallery-window{overflow:hidden;border-radius:12px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.gallery-track{display:flex;width:max-content;animation:galleryGlide 40s linear infinite}.gallery-group{display:flex;gap:10px;padding-right:10px}.gallery-tile{position:relative;width:178px;height:120px;border:1px solid #365265;padding:0;border-radius:10px;overflow:hidden;background:#173447;color:white;flex:none}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease);display:block}.gallery-tile span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#061d29ed);padding:20px 8px 8px;font-size:10px;text-align:left;line-height:1.3}.gallery-tile:hover img{transform:scale(1.06)}
.print-stage{position:relative;padding-top:10px}.printer-slot{height:8px;background:#020a10;border-radius:10px;box-shadow:0 0 0 4px #1e3d4f,0 3px 18px #ff005b33;margin:0 24px;position:relative;z-index:1}.printer-slot:after{content:"";position:absolute;left:8%;right:8%;top:2px;height:2px;background:linear-gradient(90deg,transparent,var(--pink),transparent);animation:printScan 1s var(--ease) both}
form{position:relative;margin-top:0;border:1px solid #345365;border-top:0;border-radius:0 0 20px 20px;padding:28px 30px;background:linear-gradient(145deg,#15394b,#0e2939);box-shadow:0 22px 70px #0004;transform-origin:top;animation:printPaper .7s var(--ease) both}.form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.form-head strong{font-size:14px}.form-head span{font-size:11px;color:#b8ceda}.progress-track{height:4px;background:#2c485b;border-radius:4px;margin-top:8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#ff005b,#ff78a8);width:0;transition:width .35s var(--ease)}.progress-wrap{width:145px}.form-nav{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:24px}.form-nav button{background:#193e51;border:1px solid #426376;padding:9px 12px;font-size:11px;letter-spacing:.5px;border-radius:8px}.form-nav button.active{background:#ff005b20;border-color:#ff005b;color:#ffbad2}
fieldset{border:0;margin:0;padding:0 0 28px;min-width:0;scroll-margin-top:20px}fieldset+fieldset{border-top:1px solid #36586b;padding-top:24px}legend{float:left;width:100%;font-size:20px;font-weight:850;margin-bottom:18px}legend span{color:#ff6e9e;font-size:11px;margin-right:10px;letter-spacing:1px}fieldset .grid{clear:both;gap:18px}label{color:#d4e2eb;font-size:13px;position:relative;transition:color .18s}label:focus-within{color:#ff8bb5}input,select,textarea{border:1px solid #436479;background:#0b2232;color:#f2f8fb;border-radius:9px;margin-top:7px;min-height:48px;transition:border-color .18s,box-shadow .18s,transform .18s;background-clip:padding-box;color-scheme:dark}input::placeholder,textarea::placeholder{color:#819bad;font-size:14px}input:hover,textarea:hover,select:hover{border-color:#65849a}input:focus,textarea:focus,select:focus{outline:0;border-color:#ff005b;box-shadow:0 0 0 3px #ff005b26;transform:translateY(-1px)}textarea{min-height:140px;line-height:1.6}button{transition:transform .16s var(--ease),background .18s,box-shadow .18s;touch-action:manipulation}button:hover{box-shadow:0 6px 20px #0002;transform:translateY(-2px)}button:active{transform:translateY(1px) scale(.97)}button:focus-visible{outline:3px solid #ff93ba;outline-offset:3px}input[type=date]{padding-right:12px}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:24px;height:24px}.date-control{position:relative}.date-control input{padding-right:56px}.calendar-button{position:absolute;right:6px;top:13px;width:38px!important;height:38px;padding:0;background:#214659;border:1px solid #45677c;border-radius:7px;font-size:20px}.date-control input::-webkit-calendar-picker-indicator{opacity:0;width:40px}.address-field{position:relative}.address-list{position:absolute;top:100%;left:0;right:0;background:#15394b;border:1px solid #4b6c80;box-shadow:0 16px 35px #0005;border-radius:10px;z-index:5;max-height:265px;overflow-y:auto;margin-top:5px}.address-list button{display:block;width:100%;text-align:left;background:none;border-radius:0;padding:13px 15px;border-bottom:1px solid #315466;font-size:13px;color:#e7f1f7;line-height:1.45;transform:none}.address-list button:last-child{border:0}.address-list button:hover,.address-list button[aria-selected=true]{background:#254c62;color:#ffb6d0}.address-note{display:block;font-size:11px;line-height:1.4;margin-top:7px;color:#9ab5c5}
.upload-zone{border:1px dashed #567789;border-radius:12px;padding:20px;text-align:center;background:#0c2636;margin-top:8px;transition:background .2s,border-color .2s}.upload-zone.dragging{border-color:#ff005b;background:#ff005b15}.upload-zone button{background:#21475b;font-size:13px;padding:11px 16px}.upload-zone p{font-size:12px;margin:9px 0 0;line-height:1.5}.upload-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:12px}.upload-card{display:flex;gap:8px;align-items:center;padding:8px;background:#153749;border:1px solid #365c70;border-radius:9px;animation:tileIn .22s var(--ease)}.upload-card img,.file-icon{width:42px;height:42px;object-fit:cover;border-radius:6px;flex:none}.file-icon{display:grid;place-items:center;background:#254c60;font-size:11px;font-weight:800}.upload-card span{overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap;flex:1;min-width:0}.upload-card button{width:36px!important;height:40px;padding:0;font-size:19px;background:transparent;flex:none}.upload-error{font-size:12px;color:#ffadc9;line-height:1.5;margin-top:8px}.submit-area{border-top:1px solid #36586b;padding-top:20px}.submit-area .help{max-width:580px;font-size:12px}.submit-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}#submitButton{position:relative;min-width:220px;padding:16px 22px;box-shadow:0 8px 24px #ff005b25;overflow:hidden;letter-spacing:.1px}#submitButton:before{content:"";position:absolute;top:-50%;bottom:-50%;width:25%;left:-40%;transform:skew(-18deg);background:#fff3;transition:left .5s}#submitButton:hover:before{left:125%}form[aria-busy=true] #submitButton:after{content:"";display:inline-block;width:14px;height:14px;border:2px solid #fff7;border-top-color:#fff;border-radius:50%;margin-left:12px;vertical-align:middle;animation:spin .7s linear infinite}.submit-note{font-size:11px;color:#a2bdce}.success{position:relative;padding:40px 30px;text-align:center;background:linear-gradient(145deg,#183c50,#0d293a);overflow:hidden;box-shadow:0 20px 60px #0004}.success.arrived{animation:receiptIn .55s var(--ease)}.success h2{font-size:30px;line-height:1.2;margin:20px 0 12px}.success p{font-size:14px}.receipt-icon{width:74px;height:74px;margin:auto;display:block}.receipt-icon circle{fill:#ff005b17;stroke:#ff005b;stroke-width:2}.receipt-icon path{fill:none;stroke:#ff8eb6;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:70}.success.arrived .receipt-icon path{animation:checkDraw .45s .2s ease forwards}#inquiryReference{display:inline-block;background:#0a2332;border:1px solid #426376;border-radius:8px;padding:10px 16px;font-family:monospace;color:#fff}.confetti{position:absolute;top:35%;left:50%;height:8px;width:5px;border-radius:2px;background:var(--c);pointer-events:none;animation:confetti 1.2s var(--ease) forwards}.footer-note{text-align:center;font-size:11px;color:#88a6b7;margin-top:24px}.lightbox{width:min(780px,94vw);padding:14px;border:1px solid #426376;background:#102e40;color:#fff;border-radius:16px;box-shadow:0 30px 80px #0007}.lightbox[open]{animation:tileIn .2s var(--ease)}.lightbox::backdrop{background:#04111cd9;backdrop-filter:blur(4px)}.lightbox img{display:block;max-height:65vh;object-fit:contain;width:100%;border-radius:10px}.lightbox footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px}.lightbox footer span{font-size:13px}.lightbox button{width:auto!important;padding:10px 14px;background:#284c60}
@keyframes printPaper{from{opacity:.25;transform:translateY(-28px);clip-path:inset(0 0 45%)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes printScan{from{opacity:0;transform:scaleX(.2)}50%{opacity:1}to{opacity:.5;transform:scaleX(1)}}@keyframes heroIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes galleryGlide{to{transform:translateX(-50%)}}@keyframes ambient{to{transform:translate3d(4%,3%,0)}}@keyframes tileIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes receiptIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}@keyframes checkDraw{to{stroke-dashoffset:0}}@keyframes confetti{to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@media(max-width:550px){main{padding:22px 16px 40px}h1{letter-spacing:-1px}.brand img{max-width:260px}form{padding:23px 18px}.gallery-tile{width:148px;height:103px}.gallery-tile span{font-size:9px}.form-head{align-items:flex-start}.progress-wrap{width:115px}.form-nav{gap:6px}.form-nav button{width:auto;padding:9px 10px;font-size:10px}.grid{gap:15px}.success{padding:30px 20px}.submit-row{gap:8px}.submit-note{width:100%;text-align:center}.gallery-head .quiet{min-height:40px}.address-list button{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}form{clip-path:none!important}.gallery-window{overflow-x:auto;mask-image:none}.gallery-group[aria-hidden=true]{display:none}.receipt-icon path{stroke-dashoffset:0}}
button{font-family:Arial,sans-serif}fieldset.revealed{animation:heroIn .3s var(--ease) both}


/* Draw the send arrow instead of a Unicode character that iOS renders as emoji. */
form:not([aria-busy=true]) #submitButton:after{content:"";display:inline-block;width:16px;height:16px;margin-left:10px;vertical-align:-2px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E")}

/* Keep the document inside its viewport without disabling accessible zoom. */
html,body{max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
main{width:100%;min-width:0}
.grid>*{min-width:0}input,select,textarea{min-width:0;max-width:100%}
.gallery-window{contain:paint}.lightbox{max-width:calc(100vw - 24px)}
@supports not (overflow:clip){html,body{overflow-x:hidden}}

/* Owner wants the inspiration strip continuously moving on every visit. */
.gallery-track{animation-play-state:running!important}
@media(prefers-reduced-motion:reduce){.gallery-track{animation:galleryGlide 40s linear infinite!important}.gallery-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.gallery-group[aria-hidden=true]{display:flex}}

/* One frame-driven loop on all devices, independent of startup visibility. */
.gallery-track{animation:none!important;will-change:transform}
