:root{--ivory:#fffbf4;--pink:#f4ceda;--ink:#602a3d;--muted:#79646b;--line:#d9bdc6;--serif:'Bodoni Moda',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--display:'Bricolage Grotesque',Arial,sans-serif;font-family:var(--sans);color:var(--ink);background:var(--ivory);color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--ivory)}button,input{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.65}a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,.jewelry-view:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.page{min-height:100svh;display:flex;flex-direction:column;overflow:hidden;position:relative}
.header{height:112px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:0 4.6vw;position:relative;z-index:4}
.small-logo{font:400 45px/1 var(--serif);letter-spacing:-.075em;text-decoration:none}
.header-note{position:absolute;left:50%;transform:translateX(-50%);font-size:11px;margin:0;color:var(--muted)}
.hero{position:relative;flex:1;min-height:670px;display:grid;grid-template-columns:55% 45%;padding:0 4.6vw;isolation:isolate}
.pink-field{position:absolute;inset:-112px 0 -82px;z-index:-2;background:var(--pink);clip-path:polygon(77% 0,100% 0,100% 100%,50% 100%)}
.intro{display:flex;flex-direction:column;justify-content:center;padding:18px 0 48px;position:relative;z-index:2;pointer-events:none}
.launch-status{font-size:12px;line-height:1.5;margin:0 0 28px}
h1{font:600 clamp(104px,11.6vw,210px)/.88 var(--display);letter-spacing:-.07em;margin:0 0 42px;white-space:nowrap}
.headline-line{display:block;padding-bottom:.09em;margin-bottom:-.09em;overflow:hidden}.headline-line>span{display:block}
.intro-detail{display:flex;align-items:center;gap:45px;pointer-events:auto}.intro-detail>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.primary-button{display:flex;align-items:center;justify-content:space-between;gap:34px;background:var(--ink);color:var(--ivory);padding:18px 24px;border-radius:40px;min-height:56px;font-size:12px;white-space:nowrap;transition:background .2s,transform .2s}.primary-button:hover{background:#823e58;transform:translateY(-2px)}
.sculpture{position:absolute;right:-3vw;top:-20px;bottom:0;width:58vw;max-width:1050px;z-index:1}
.jewelry-view{position:absolute;inset:0 0 48px;touch-action:pan-y;cursor:grab;outline-offset:-15px!important}.jewelry-view.dragging{cursor:grabbing}.jewelry-view canvas{position:absolute;inset:0;width:100%;height:100%}
.scene-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-13deg);width:64%;height:85%;object-fit:contain;filter:drop-shadow(0 22px 18px #60401f1f)}.scene-ready .scene-fallback{display:none}
.scene-controls{position:absolute;bottom:32px;left:24%;right:13%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#7c4b5d}.scene-controls button{display:flex;align-items:center;gap:18px;background:none;padding:9px 0;font-size:11px}.scene-controls button span{font-size:23px}
.footer{min-height:82px;padding:0 4.6vw;position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--muted)}.footer>button{background:none;padding:8px 0;font-size:10px;color:var(--ink);border-bottom:1px solid #a27484}
.skip-link{position:fixed;top:-100px;left:20px;z-index:30;padding:12px;background:var(--ink);color:var(--ivory)}.skip-link:focus{top:16px}
.intro-screen{position:fixed;inset:0;background:var(--pink);z-index:20;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:curtain-reveal .7s .62s cubic-bezier(.7,0,.2,1) both}.intro-word{font:600 clamp(70px,17vw,300px)/1 var(--display);letter-spacing:-.085em;animation:intro-word .6s ease both}
.revealing .headline-line>span{animation:headline-reveal .85s .6s cubic-bezier(.18,.65,.25,1) both}.revealing .headline-line:nth-child(2)>span{animation-delay:.7s}.revealing .sculpture{animation:sculpture-reveal 1s .6s ease both}
@keyframes curtain-reveal{to{transform:translateY(-101%)}}@keyframes intro-word{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes headline-reveal{from{transform:translateY(105%)}to{transform:translateY(0)}}@keyframes sculpture-reveal{from{opacity:0;transform:translate(65px,18px) rotate(9deg)}to{opacity:1;transform:translate(0,0) rotate(0)}}
.modal{width:min(760px,calc(100% - 36px));max-height:calc(100svh - 32px);padding:0;border:1px solid var(--line);background:var(--ivory);color:var(--ink);box-shadow:0 25px 90px #34232a26;overflow:auto}.modal::backdrop{background:#39263055;backdrop-filter:blur(7px)}
.invitation-layout{display:grid;grid-template-columns:38% 62%;min-height:480px}.invitation-art{min-height:480px;position:relative;overflow:hidden;background:var(--pink)}.invitation-art img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;transform:rotate(-14deg)}
.invitation-content{display:flex;flex-direction:column;justify-content:center;padding:50px 35px 35px}.close-button{position:absolute;right:12px;top:12px;width:32px;height:32px;z-index:3;background:transparent;font-size:24px;color:var(--muted)}
.invitation-eyebrow{font-size:11px;color:var(--muted);margin:0 0 24px}.modal h2{font:400 44px/1.08 var(--serif);letter-spacing:-.04em;margin:0 0 22px}.invitation-description{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 25px}.modal label{display:block;font-size:11px;margin:0 0 9px}.modal input{width:100%;padding:13px 0;border:0;border-bottom:1px solid #cdbbc1;background:transparent;font-size:14px;color:var(--ink)}.modal input::placeholder{color:#aa969e}.invitation-submit{width:100%;margin-top:22px;min-height:50px}.privacy-note{font-size:9px;line-height:1.8;color:var(--muted);margin:18px 0 0}.form-status{font-size:12px;line-height:1.6;margin:13px 0 0}.form-status:empty{display:none}.text-button{display:inline-flex;gap:25px;background:none;padding:10px 0;border-bottom:1px solid var(--ink);font-size:12px;margin-top:20px}.honey{position:absolute;left:-9999px;height:0;opacity:0;overflow:hidden}.noscript{text-align:center;padding:16px}[hidden]{display:none!important}
@media(min-width:1800px){.hero{min-height:810px}.header{height:136px}.pink-field{top:-136px}.sculpture{right:0;width:56vw}.intro-detail{gap:65px}}
@media(max-width:1100px){.header{height:96px}.pink-field{top:-96px}.hero{min-height:650px}.intro-detail{flex-direction:column;align-items:flex-start;gap:24px}.sculpture{width:61vw;right:-7vw}.scene-controls{left:28%;right:18%}.intro{padding-bottom:30px}}
@media(max-width:760px){.header{height:88px;padding:0 22px}.small-logo{font-size:36px}.header-note{display:none}.hero{display:grid;grid-template-columns:1fr;grid-template-areas:'status' 'headline' 'art' 'detail';min-height:0;padding:12px 22px 32px}.pink-field{inset:-88px 0 -108px;clip-path:polygon(100% 12%,100% 100%,16% 100%,100% 47%)}.intro{display:contents}.launch-status{grid-area:status;font-size:11px;margin:0 0 20px;z-index:2}h1{grid-area:headline;font-size:clamp(71px,18vw,136px);line-height:.9;letter-spacing:-.07em;margin:0;z-index:2}.intro-detail{grid-area:detail;flex-direction:row;align-items:center;justify-content:space-between;gap:15px;z-index:2}.intro-detail>p{font-size:10px;line-height:1.8}.primary-button{font-size:11px;min-height:49px;padding:15px 18px;gap:18px}.sculpture{grid-area:art;position:relative;width:calc(100% + 44px);max-width:none;right:auto;top:auto;bottom:auto;margin:0 -22px;height:370px}.jewelry-view{inset:-15px 0 25px}.scene-controls{bottom:10px;left:22px;right:22px;font-size:9px}.scene-controls button{font-size:10px}.footer{min-height:74px;padding:0 22px;font-size:9px}.footer>button{font-size:9px}.intro-word{font-size:19vw}.invitation-layout{grid-template-columns:1fr;min-height:0}.invitation-art{height:140px;min-height:140px}.invitation-art img{inset:-10px 15% auto auto;width:70%;height:160px}.invitation-content{padding:27px}.modal h2{font-size:36px}}
@media(max-width:380px){.hero{padding-left:18px;padding-right:18px}.header,.footer{padding-left:18px;padding-right:18px}h1{font-size:18.5vw}.sculpture{height:320px;margin:0 -18px;width:calc(100% + 36px)}.intro-detail{align-items:flex-start;flex-direction:column;gap:18px}.intro-detail>p br{display:none}.intro-detail>.primary-button{width:100%}.scene-controls{left:18px;right:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.intro-screen{display:none!important}}
