:root{--paper:#f4efe7;--paper-2:#ebe3d7;--ink:#161310;--ink-soft:#5c524a;--line:#d8cdbd;--accent:#8c2f39;--accent-ink:#6f242c;--floral:radial-gradient(38% 50% at 22% 28%,rgba(140,47,57,.55),transparent 70%),radial-gradient(42% 55% at 78% 30%,rgba(196,120,80,.55),transparent 72%),radial-gradient(50% 60% at 50% 88%,rgba(90,110,70,.55),transparent 75%),linear-gradient(160deg,#2a1418,#4a2530 55%,#6a3a2c);--display:"Hoefler Text","Iowan Old Style","Palatino Linotype","Times New Roman",Georgia,serif;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--maxw:1240px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.display{font-family:var(--display);font-weight:600;line-height:.92;letter-spacing:-.02em;margin:0}.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;font-weight:700;margin:0 0 22px;opacity:.85}.lede{font-size:clamp(1.05rem,1.8vw,1.4rem);line-height:1.45;color:var(--ink-soft)}.masthead{position:absolute;inset:0 0 auto 0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:26px 28px;max-width:var(--maxw);margin:0 auto;left:0;right:0;color:#fff;mix-blend-mode:difference}.masthead .wordmark{font-family:var(--display);font-size:1.7rem;font-weight:600;letter-spacing:-.01em}.masthead nav a{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;font-weight:700;margin-left:26px}.hero{position:relative;min-height:100svh;display:flex;align-items:center;background:#fafbfa;color:var(--ink);overflow:hidden}.hero .bg{position:absolute;inset:0;background-image:url(/hero-wide.png);background-size:contain;background-position:100%;background-repeat:no-repeat;background-color:#fafbfa}.hero .scrim{display:none}.hero .inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(28px,4vw,56px)}.hero h1{font-size:clamp(2.8rem,6vw,6rem);line-height:1;max-width:12ch}.hero .lede{color:var(--ink-soft);max-width:38ch;margin:24px 0 32px}.btn,.btn-xl{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;padding:18px 30px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:background .18s ease,color .18s ease,transform .08s ease}.btn-xl{font-size:.9rem;padding:20px 36px}.btn-xl:hover,.btn:hover{transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.link-underline{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:700;border-bottom:2px solid var(--accent);padding-bottom:3px}.band{padding-block:clamp(70px,12vh,150px)}.band.tight{padding-block:clamp(40px,7vh,80px)}.section-eyebrow{display:flex;align-items:baseline;gap:18px;margin-bottom:40px}.section-eyebrow h2{font-family:var(--display);font-size:clamp(2rem,5vw,3.6rem);margin:0;letter-spacing:-.02em}.feature{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:clamp(28px,5vw,80px);gap:clamp(28px,5vw,80px);align-items:center}.feature .media{aspect-ratio:4/5;background:var(--floral);background-size:cover;background-position:50%}.feature h3{font-family:var(--display);font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95;margin:0 0 18px;letter-spacing:-.02em}.feature .price{font-family:var(--display);font-size:2rem;color:var(--accent);margin:0 0 22px}.feature .stock{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:var(--accent);margin-bottom:26px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:clamp(28px,4vw,56px);gap:clamp(28px,4vw,56px)}.step .n{font-family:var(--display);font-size:3.4rem;color:var(--accent);line-height:1}.step h4{font-size:1.15rem;margin:14px 0 8px;letter-spacing:-.01em}.step p{color:var(--ink-soft);margin:0;font-size:.98rem}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:clamp(20px,3vw,44px);gap:clamp(20px,3vw,44px)}.tile .media{aspect-ratio:4/5;background:var(--floral);background-size:cover;background-position:50%;transition:transform .4s ease}.tile:hover .media{transform:scale(1.015)}.tile .cap{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px}.tile .cap .t{font-family:var(--display);font-size:1.4rem;letter-spacing:-.01em}.tile .cap .p{font-family:var(--display);font-size:1.25rem;color:var(--accent)}.tile .sub{color:var(--ink-soft);font-size:.92rem;margin-top:4px}.tile.sold{opacity:.55}.product{display:grid;grid-template-columns:1.05fr .95fr;min-height:100svh}.product .media{background:var(--floral);background-size:cover;background-position:50%;min-height:60svh}.product .panel{padding:clamp(80px,12vh,150px) clamp(28px,6vw,90px);display:flex;flex-direction:column;justify-content:center;max-width:640px}.product h1{font-family:var(--display);font-size:clamp(2.6rem,6vw,4.8rem);line-height:.94;letter-spacing:-.02em;margin:14px 0 10px}.product .price-lg{font-family:var(--display);font-size:2.2rem;color:var(--accent);margin:6px 0 22px}.product p.desc{color:var(--ink-soft);font-size:1.05rem}.field{margin:26px 0 0}.field .label{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:700;margin-bottom:12px}.choices{display:flex;gap:12px;flex-wrap:wrap}.choice{border:1.5px solid var(--line);background:transparent;color:var(--ink);padding:14px 20px;cursor:pointer;font-weight:600;font-size:.95rem;display:flex;flex-direction:column;gap:2px;min-width:120px;transition:border-color .15s ease}.choice small{color:var(--ink-soft);font-weight:600}.choice[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.swatches{display:flex;gap:9px;margin:22px 0 0}.swatch{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}.note{color:var(--ink-soft);font-size:.9rem;line-height:1.5}.note.accent{color:var(--accent-ink)}.notify{max-width:620px}.notify h2{font-family:var(--display);font-size:clamp(2rem,5vw,3.4rem);line-height:.98;letter-spacing:-.02em;margin:0 0 16px}.notify-form{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.notify-form input[type=email]{flex:1 1 260px;min-width:0;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);padding:16px 18px;font-size:1rem;font-family:var(--sans)}.notify-form input[type=email]:focus{outline:none;border-color:var(--ink)}.notify-form .btn{flex:0 0 auto}.notify .done{color:var(--accent-ink);font-weight:600;margin-top:18px}.collection-page{background:#fff;padding-top:clamp(112px,16vh,184px);padding-bottom:clamp(64px,10vh,120px);min-height:100svh}.collection-head{text-align:center;max-width:720px;margin:0 auto clamp(36px,6vh,66px)}.collection-head .eyebrow{margin-bottom:14px}.collection-head h2{font-size:clamp(2rem,5vw,3.4rem);margin:0 0 14px}.collection-head .lede{margin:0 auto}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:clamp(30px,5vh,58px) clamp(16px,2.4vw,30px);gap:clamp(30px,5vh,58px) clamp(16px,2.4vw,30px);align-items:start}.collection-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:center}.collection-item .ph{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;background:#f3efe9;background-size:contain;background-repeat:no-repeat;background-position:50%;outline:1.5px solid transparent;outline-offset:8px;transition:outline-color .14s ease,opacity .14s ease}.collection-item .ph:after{content:attr(data-code);font-family:var(--display);font-size:1.5rem;color:rgba(22,19,16,.16)}.collection-item:hover:not(:disabled) .ph{outline-color:var(--line)}.collection-item[aria-pressed=true] .ph{outline-color:var(--ink)}.collection-item:disabled{cursor:not-allowed}.collection-item:disabled .ph{opacity:.45;filter:grayscale(1)}.collection-item .clabel{display:block;margin-top:16px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}.collection-item .cstatus{display:block;margin-top:5px;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:600;color:var(--ink-soft)}.collection-item:disabled .cstatus{color:var(--accent-ink)}.reserve-bar{margin-top:clamp(40px,7vh,80px)}.reserve-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px}.reserve-label{font-family:var(--display);font-size:1.5rem;letter-spacing:-.01em}.vase-preview{display:flex;align-items:center;gap:10px;margin:0 0 26px}.vase-preview .pv{width:46px;height:46px;border:1px solid var(--line);background:#f3efe9;background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:.8rem;color:rgba(22,19,16,.3)}.vase-preview .more{font-size:.8rem;color:var(--ink-soft);letter-spacing:.04em}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(22,19,16,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ff-fade .25s ease both}.modal-card{position:relative;width:100%;max-width:440px;background:var(--paper);border:1px solid var(--line);padding:clamp(28px,5vw,44px);box-shadow:0 30px 80px rgba(22,19,16,.35);animation:ff-rise .3s cubic-bezier(.2,.7,.2,1) both}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;cursor:pointer;font-size:1.6rem;line-height:1;color:var(--ink-soft)}.modal-close:hover{color:var(--ink)}.modal-h{font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1;letter-spacing:-.02em;margin:0 0 14px}.modal-form{display:flex;flex-direction:column;gap:12px}.modal-form input[type=email]{border:1.5px solid var(--line);background:#fff;color:var(--ink);padding:15px 16px;font-size:1rem;font-family:var(--sans)}.modal-form input[type=email]:focus{outline:none;border-color:var(--ink)}.modal-decline{display:block;margin:16px auto 0;background:none;border:none;cursor:pointer;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:700;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}.modal-decline:hover{color:var(--ink)}.coupon-code{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.28em;font-size:1.3rem;color:var(--accent-ink);text-align:center;padding:16px;border:1.5px dashed var(--accent);background:rgba(140,47,57,.05)}@keyframes ff-fade{0%{opacity:0}to{opacity:1}}@keyframes ff-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.unlock-wrap{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--paper)}.unlock-card{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);padding:clamp(28px,5vw,44px)}.unlock-card .modal-h{font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1;letter-spacing:-.02em;margin:0 0 12px}.studio{background:#fff;min-height:100svh;padding-top:clamp(96px,14vh,150px)}.studio-head{margin-bottom:22px}.studio-head h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:0 0 8px}.studio-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:16px;padding-bottom:20px;position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:5;border-bottom:1px solid var(--line)}.ctl,.ctl-reset,.ctl-search{border:1.5px solid var(--line);background:#fff;color:var(--ink);padding:10px 13px;font-size:.9rem;font-family:var(--sans)}.ctl-search{flex:1 1 240px;min-width:180px}.ctl-reset{cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.ctl-reset:hover{background:var(--ink);color:#fff}.seg{display:inline-flex;border:1.5px solid var(--line)}.seg-btn{background:#fff;border:0;padding:10px 14px;cursor:pointer;text-transform:capitalize;font-size:.8rem;font-weight:600;color:var(--ink-soft);border-right:1px solid var(--line)}.seg-btn:last-child{border-right:0}.seg-btn[aria-pressed=true]{background:var(--ink);color:#fff}.flower-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:18px;gap:18px}.flower-card{display:flex;flex-direction:column;border:1.5px solid transparent}.flower-card.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.fc-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;padding:0;text-align:left;font:inherit;color:inherit;display:flex;flex-direction:column}.fc-pick:hover .fc-img{outline:1px solid var(--line);outline-offset:2px}.fc-src{display:flex;margin:auto 10px 11px}.fc-src button{flex:1 1;font-size:.6rem;padding:5px 4px;border:1px solid var(--line);background:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--ink-soft)}.fc-src button+button{border-left:0}.fc-src button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.fc-srcnote{color:var(--ink-soft)}.fc-load,.fc-srcnote{font-size:.64rem;margin:auto 10px 11px}.fc-load{padding:7px 8px;cursor:pointer;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.fc-load:hover{background:var(--ink);color:#fff}.fc-img{aspect-ratio:1/1;background:#f3efe9 50%/contain no-repeat}.fc-title{font-weight:600;font-size:.84rem;line-height:1.2;margin:9px 10px 2px}.fc-meta{font-size:.72rem;color:var(--ink-soft);margin:0 10px;text-transform:capitalize}.fc-price{font-size:.74rem;color:var(--accent-ink);font-weight:600;margin:4px 10px 2px}.fc-box{font-size:.66rem;color:var(--ink-soft);font-weight:600;margin:0 10px 11px;line-height:1.3}.studio-bar{position:fixed;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);z-index:20}.sb-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}.sb-result{padding-bottom:18px}.sb-image{width:100%;max-width:220px;border:1px solid var(--line);display:block}.sb-actions{display:flex;align-items:center;gap:14px}.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);background:#fff}.stepper button{width:36px;height:40px;border:0;background:#fff;cursor:pointer;font-size:1.1rem}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper span{padding:0 12px;font-size:.82rem;font-weight:600;white-space:nowrap}.result-row{display:flex;gap:14px;flex-wrap:wrap;overflow-x:auto}.result-fig{margin:0;text-align:center}.care-panel{padding-bottom:16px;max-height:38vh;overflow-y:auto}.care-disclaimer{font-size:.78rem;color:var(--accent-ink);font-style:italic;margin:0 0 8px}.care-life{font-size:.86rem;margin:0 0 8px}.care-lines{margin:0 0 12px;padding-left:18px}.care-lines li{font-size:.84rem;color:var(--ink-soft);margin-bottom:5px;line-height:1.4}.care-per{display:flex;flex-wrap:wrap;gap:8px}.care-chip{font-size:.74rem;background:#fff;border:1px solid var(--line);padding:6px 9px;max-width:280px}.footer{background:var(--ink);color:var(--paper);padding:70px 0 60px;margin-top:0}.footer .wordmark{font-family:var(--display);font-size:2.4rem;margin-bottom:16px}.footer .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;align-items:end}.footer a{border-bottom:1px solid hsla(0,0%,100%,.4)}.footer small{opacity:.6;letter-spacing:.04em}@media (max-width:819px){.hero{display:block;min-height:auto}.hero .bg{position:relative;inset:auto;height:clamp(300px,78vw,620px);background-image:url(/hero-square.png);background-size:cover;background-position:100% 0}.hero .inner{padding:clamp(40px,6vh,72px) clamp(28px,5vw,56px) clamp(48px,8vh,80px);max-width:none}.hero h1{max-width:16ch}}@media (max-width:860px){.feature,.product{grid-template-columns:1fr}.product .media{min-height:56svh}}@media (max-width:600px){.wrap{padding:0 20px}.masthead{padding:18px 20px}.masthead .wordmark{font-size:1.2rem}.masthead nav a{margin-left:14px;font-size:.58rem;letter-spacing:.16em}.hero .inner{padding:30px 20px 52px}.notify-form .btn{flex:1 1 100%;justify-content:center}}