:root{--ink:#171717;--muted:#777;--red:#a91427;--red2:#d42b3f;--cream:#fffaf8;--line:#ece4e3;--shadow:0 16px 45px rgba(49,20,23,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.announce{padding:9px 24px;background:#191516;color:#fff;font-size:12px;text-align:center;display:flex;align-items:center;gap:18px;justify-content:center;flex-wrap:wrap}.announce b{color:#ffb5b8;font-weight:650}.announce a{color:#fff;text-decoration:underline;text-underline-offset:3px}.header{height:86px;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:0 max(5%,calc((100vw - 1260px)/2));border-bottom:1px solid var(--line);background:white;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:13px;min-width:210px}.brand img{height:60px;width:60px;object-fit:contain}.brand strong{font-family:Georgia,serif;font-size:20px;letter-spacing:.055em}.brand small{display:block;text-transform:uppercase;color:var(--red);font-size:9px;letter-spacing:.32em;font-weight:700}.nav{display:flex;gap:27px;font-size:13px;font-weight:650}.nav a:hover{color:var(--red)}.contact-btn,.btn{border:1px solid var(--red);border-radius:9px;padding:13px 19px;font-weight:700;display:inline-flex;gap:9px;align-items:center;justify-content:center}.contact-btn,.btn.red{background:var(--red);color:#fff}.btn.red:hover,.contact-btn:hover{background:#870c1a}.btn.outline{background:white;color:var(--red)}.btn.outline:hover{background:#fff5f5}.btn.dark{background:#151515;color:white;border-color:#151515}.btn.small{padding:9px 15px;font-size:12px}.container{max-width:1240px;margin:auto;padding:0 26px}.hero{min-height:480px;background:radial-gradient(circle at 77% 30%,#fbe0e2 0%,#fff8f8 31%,#fff 68%);overflow:hidden}.hero-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:38px;padding:55px 28px}.eyebrow{color:var(--red);letter-spacing:.23em;text-transform:uppercase;font-weight:750;font-size:11px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(45px,5.4vw,78px);line-height:1.06;letter-spacing:-.035em;margin:18px 0}.hero h1 em{color:var(--red);font-style:italic}.hero p{color:#646060;max-width:490px;line-height:1.85;font-size:15px;margin:0 0 26px}.hero-buttons{display:flex;flex-wrap:wrap;gap:10px}.hero-art{min-height:370px;position:relative;display:grid;place-items:center}.hero-art .backdrop{position:absolute;width:340px;height:340px;border:1px solid #e5b3b7;border-radius:50%;background:linear-gradient(155deg,#fff,#fbe2e4);box-shadow:0 35px 85px #aa192420}.hero-art .bigbox{font-size:205px;filter:drop-shadow(0 20px 18px #4a061722);transform:rotate(-7deg);z-index:1}.hero-art .orbit{font-size:63px;position:absolute;z-index:1;filter:drop-shadow(0 12px 10px #4a06171a)}.orbit.o1{top:26px;right:55px;transform:rotate(15deg)}.orbit.o2{bottom:27px;left:35px}.orbit.o3{top:50px;left:25px}.subline{background:#fff8f7;border-top:1px solid #f3e7e6;border-bottom:1px solid #f3e7e6;padding:14px;text-align:center;font-size:12px;letter-spacing:.09em;color:#6f4b4d}.subline span{color:var(--red);margin:0 16px}.section{padding:70px 0}.section-head{text-align:center;margin-bottom:30px}.section-head h2{font-size:clamp(28px,3.5vw,43px);font-family:Georgia,serif;font-weight:500;margin:13px 0 10px}.section-head p{color:var(--muted);font-size:14px}.filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:25px 0}.filter{background:#fff;border:1px solid var(--line);padding:10px 16px;border-radius:100px;font-size:12px;font-weight:700}.filter.active{background:#171717;color:white;border-color:#171717}.searchrow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0}.searchrow p{font-size:13px;color:#666}.searchrow input{border:1px solid #e8dfe0;border-radius:9px;padding:12px 14px;min-width:240px;max-width:100%;outline-color:var(--red)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card{border:1px solid #eee7e8;background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 9px 28px rgba(0,0,0,.026);transition:transform .22s,box-shadow .22s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.picture{height:226px;background:linear-gradient(145deg,#fff1f2,#f9e4e8);display:grid;place-items:center;position:relative;overflow:hidden}.picture::before,.picture::after{content:"";position:absolute;border:1px solid #fff8;border-radius:50%;width:240px;height:240px;right:-65px;top:-55px}.picture::after{width:170px;height:170px;left:-80px;top:auto;bottom:-75px}.picture .item-emoji{font-size:96px;filter:drop-shadow(0 14px 12px rgba(94,26,38,.15));position:relative;z-index:1}.picture img{height:100%;width:100%;object-fit:cover}.picture.gold{background:linear-gradient(130deg,#fbf0e2,#f1d3ca)}.picture.blush{background:linear-gradient(140deg,#fbe4ed,#f7d4e5)}.picture.dark{background:linear-gradient(140deg,#e5e2e2,#cfc0c4)}.picture.rose{background:linear-gradient(135deg,#faebee,#edc6d0)}.picture .ribbon{position:absolute;top:12px;left:12px;border-radius:3px;background:#fff;color:#ac1b32;padding:6px 9px;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.11em;z-index:2}.card-content{padding:17px}.card-content .category{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.12em}.card-content h3{font-size:15px;margin:7px 0;font-weight:750;min-height:36px}.price{font-size:17px;font-weight:800;color:var(--red)}.price small{font-size:10px;font-weight:500;color:#8c8c8c;margin-left:4px}.desc{color:#777;font-size:12px;line-height:1.7;min-height:42px}.card button{width:100%;margin-top:12px}.none{padding:40px;text-align:center;color:#666}.note{color:#827778;font-size:12px;text-align:center;line-height:1.7}.info-strip{background:#241c1d;color:#fff;padding:45px 0}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;text-align:center}.info-grid b{font-family:Georgia,serif;font-size:19px;font-weight:500}.info-grid p{color:#d9c9cb;font-size:12px;line-height:1.8}.foot{background:#161415;color:#fff;padding:55px 0 30px}.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.foot .brand{color:#fff}.foot p{color:#bbaeb0;font-size:13px;max-width:360px;line-height:1.9}.foot a:not(.brand){color:#ffe2e4;font-size:13px}.foot small{display:block;border-top:1px solid #3a3131;margin-top:40px;padding-top:20px;color:#aa9e9e}.overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;isolation:isolate;background:rgba(255,252,251,.6);backdrop-filter:blur(7px)}.overlay.hidden{display:none}.overlay::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.42;background:radial-gradient(circle at 20% 20%,#fae5e5a8,transparent 42%),radial-gradient(circle at 86% 83%,#d89ba09c,transparent 40%)}.intro{background:rgba(255,255,255,.96);border:1px solid #efdadb;box-shadow:0 20px 65px rgba(79,14,19,.17);border-radius:20px;width:100%;max-width:500px;max-height:95vh;overflow:auto;text-align:center;padding:27px 30px 31px}.intro img{height:87px;width:87px;object-fit:contain}.intro h2{font:500 29px Georgia,serif;margin:9px 0}.intro p{color:#777;line-height:1.65;font-size:13px;margin:7px 0 20px}.stepmark{font-size:10px;letter-spacing:.17em;color:var(--red);font-weight:800;text-transform:uppercase}.budgets{display:grid;grid-template-columns:1fr 1fr;gap:9px}.budget{padding:13px 8px;border:1px solid #e9d9da;border-radius:9px;background:#fff;color:#423336;font-size:12px;font-weight:700}.budget.active{background:#9f1529;border-color:#9f1529;color:#fff}.intro label{display:block;text-align:left;color:#4d4444;font-size:12px;font-weight:700;margin:16px 0 7px}.intro input,.intro select,.dialog input,.dialog textarea,.dialog select,.admin input,.admin textarea,.admin select{width:100%;padding:12px 13px;border:1px solid #e7d7d9;border-radius:9px;outline-color:var(--red);background:#fff;font-size:14px}.intro .btn{width:100%;margin-top:17px}.back{background:transparent;border:0;color:var(--red);font-size:12px;font-weight:700;padding:10px}.error{color:#a91427;font-size:12px;min-height:17px;margin-top:7px}.dialog-shade{position:fixed;inset:0;z-index:40;background:#191415a6;display:flex;align-items:center;justify-content:center;padding:16px}.dialog-shade.hidden{display:none}.dialog{background:white;border-radius:15px;max-width:520px;max-height:92vh;overflow-y:auto;width:100%;padding:27px;box-shadow:var(--shadow);position:relative}.dialog h2{font-family:Georgia,serif;font-size:27px;font-weight:500;margin:7px 0}.dialog p{color:#777;font-size:13px;line-height:1.7}.dialog label{display:block;font-size:12px;font-weight:700;margin:14px 0 7px}.dialog textarea{min-height:90px;resize:vertical}.close{position:absolute;right:17px;top:15px;background:#f4edef;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}.choices button{border:1px solid #e8d7d8;border-radius:8px;padding:12px;background:white;font-size:12px;font-weight:750}.choices button.active{background:#fff0f1;color:var(--red);border-color:var(--red)}.summary{background:#fdf5f5;padding:12px;font-size:12px;line-height:1.9;border-radius:9px;color:#544448}.dialog .btn{width:100%;margin-top:16px}.hide{display:none!important}.admin{max-width:1100px;margin:45px auto;padding:0 25px}.admin-top{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.admin h1{font-family:Georgia,serif;font-weight:500;font-size:40px}.admin-alert{background:#fff6e7;border:1px solid #e9cf9e;border-radius:9px;padding:15px;line-height:1.75;font-size:13px;margin:19px 0}.admin-grid{display:grid;grid-template-columns:330px 1fr;gap:22px;align-items:start}.admin-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:19px}.admin-panel label{display:block;margin-top:13px;font-size:12px;font-weight:700}.admin-panel input,.admin-panel select,.admin-panel textarea{margin-top:7px}.admin-panel textarea{resize:vertical;min-height:68px}.admin-panel .btn{width:100%;margin-top:14px}.item-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #eee;padding:14px 0}.item-row:last-child{border:0}.item-row span{font-size:12px;color:#777}.item-row button{border:1px solid #ddd;background:#fff;padding:7px 9px;border-radius:7px;color:#a01425;font-size:12px}.row-actions{display:flex;gap:5px}.small-note{color:#777;font-size:12px}.admin-action{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0}.admin-action button{padding:11px 14px;border-radius:8px;border:1px solid #ddd;background:white;font-size:12px;font-weight:700}@media(max-width:980px){.nav{display:none}.grid{grid-template-columns:repeat(3,1fr)}.hero-inner{gap:0}.hero-art .bigbox{font-size:145px}.hero-art .backdrop{width:265px;height:265px}.hero-art{min-height:310px}}@media(max-width:700px){.announce{gap:6px 13px;padding:8px 10px;font-size:10px}.header{padding:0 14px;height:68px}.brand{min-width:0;gap:6px}.brand img{width:47px;height:47px}.brand strong{font-size:13px}.brand small{font-size:7px}.contact-btn{font-size:10px;padding:10px 8px}.hero-inner{grid-template-columns:1fr;text-align:center;padding:43px 22px 17px}.hero h1{font-size:48px}.hero p{margin-left:auto;margin-right:auto}.hero-buttons{justify-content:center}.hero-art{min-height:285px}.hero-art .bigbox{font-size:146px}.hero-art .backdrop{width:250px;height:250px}.hero-art .orbit{font-size:45px}.section{padding:48px 0}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.picture{height:160px}.picture .item-emoji{font-size:69px}.card-content{padding:12px}.card-content h3{font-size:13px;min-height:34px}.price{font-size:14px}.desc{font-size:11px}.searchrow{flex-direction:column;align-items:stretch}.searchrow input{width:100%;min-width:0}.info-grid{grid-template-columns:1fr}.intro{padding:21px 19px}.intro h2{font-size:25px}.admin-grid{grid-template-columns:1fr}.foot-grid{flex-direction:column}.dialog{padding:22px 18px}}@media(max-width:350px){.grid{grid-template-columns:1fr}.brand strong{font-size:11px}.announce{font-size:9px}}

/* Clear customer-friendly gift option buttons */
.choice-question{color:#332629!important;font-size:13px!important;font-weight:700;margin:17px 0 8px!important}.dialog .choices{grid-template-columns:1fr;gap:10px}.dialog .choices button{text-align:left;font-size:13px;line-height:1.5;padding:13px 15px}.dialog .choices button.active{background:#fff0f1;border-color:#a91427;box-shadow:inset 3px 0 #a91427}

/* Admin v2 UI */
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.admin-tab{border:1px solid #e9d3d6;background:#fff;padding:13px 18px;border-radius:12px;font-size:13px;font-weight:800}.admin-tab.active{background:#a91427;color:white;border-color:#a91427}.admin-view>.admin-panel{max-width:900px}.admin-panel h3{font:500 23px Georgia,serif;margin:3px 0 18px}.admin-panel p{line-height:1.7}.admin .check-inline{display:flex;align-items:center;gap:9px}.admin .check-inline input{width:auto}.admin .import-btn{margin:0;border:1px solid #ddd;padding:11px 14px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700}.admin .publish-steps{font-size:14px;line-height:2;max-width:780px}.admin code{background:#f7f1f1;padding:2px 5px;border-radius:4px}.hero-photo{position:absolute;inset:18px 8px 15px 8px;height:calc(100% - 33px);width:calc(100% - 16px);object-fit:cover;border-radius:24px;z-index:2;box-shadow:0 16px 45px #6d162021}.admin .item-row{flex-wrap:wrap}.admin .row-actions button:hover,.admin-action button:hover{background:#fff0f2}@media(max-width:650px){.admin-tabs{gap:6px}.admin-tab{padding:10px;font-size:11px}.admin h1{font-size:31px}}

/* Returning customers can edit their remembered budget or city without the intro. */
.visitor-prefs{border:1px solid #eed7da;border-radius:14px;background:#fffafa;padding:15px 17px;margin:22px 0 19px;text-align:left}
.visitor-prefs[hidden]{display:none!important}
.prefs-overview{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;font-size:14px;color:#483639}
.prefs-overview strong{color:#a91427}
.prefs-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.prefs-actions button,.prefs-cancel{padding:9px 13px;border-radius:8px;border:1px solid #d6b5bc;background:#fff;color:#a91427;cursor:pointer;font-weight:700;font-size:12px}
.prefs-actions .prefs-reset{border-color:#ddd;color:#777}
.prefs-editor{margin-top:14px;padding:15px;background:#fff;border-radius:10px;border:1px solid #efdfe2;max-width:530px}
.prefs-editor label{display:block;font-size:12px;font-weight:700;margin:9px 0 6px}
.prefs-editor select,.prefs-editor input{display:block;max-width:100%;width:100%;padding:11px;border:1px solid #dcc9ce;border-radius:9px;background:#fff;font-size:14px}
.prefs-editor .btn{margin-top:10px}.prefs-cancel{margin-left:7px}.prefs-explainer{font-size:11px;color:#827578;margin:12px 0 0;line-height:1.5}
@media(max-width:520px){.visitor-prefs{padding:13px}.prefs-overview{font-size:12px}.prefs-actions button{font-size:11px;padding:9px}.prefs-editor{padding:12px}}

/* Less intrusive repeat-visitor options: a compact header popover instead of
   large budget/city controls taking up catalog space. */
.header .prefs-menu-wrap{position:relative;margin-left:auto}
.header .prefs-trigger{border:1px solid #e5d9db;background:#fff;color:#7b1727;border-radius:9px;padding:10px 12px;font-size:12px;font-weight:750;white-space:nowrap}
.header .prefs-trigger[hidden]{display:none!important}
.header .prefs-trigger:hover,.header .prefs-trigger[aria-expanded="true"]{background:#fff4f5;border-color:#ad6571}
.header .visitor-prefs{position:absolute;right:0;top:calc(100% + 13px);width:min(430px,calc(100vw - 28px));max-height:min(75vh,520px);overflow-y:auto;box-shadow:0 16px 46px rgba(49,20,23,.2);z-index:13;padding:16px;margin:0;background:white;text-align:left}
.header .visitor-prefs::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#a91427;border-radius:14px 14px 0 0}
.header .prefs-overview{font-size:12px;gap:9px 20px}
.header .prefs-overview span{display:block}
.header .prefs-actions{gap:7px;margin-top:10px}
.header .prefs-actions button{font-size:11px;padding:8px 10px}
.header .prefs-explainer{font-size:11px}
@media(max-width:700px){.header{gap:8px}.header .prefs-menu-wrap{margin-left:auto}.header .prefs-trigger{font-size:10px;padding:9px 7px}.header .visitor-prefs{right:-69px;max-height:70vh}.header .contact-btn{font-size:10px;padding:9px 7px}}
@media(max-width:390px){.header .prefs-trigger{font-size:0;padding:8px 9px}.header .prefs-trigger::after{content:'⚙';font-size:16px}.header .visitor-prefs{right:-63px}}

/* Show the two requested order choices directly on each gift card. */
.gift-picture{display:grid;border:0;padding:0;width:100%;text-align:center;cursor:pointer}
.product-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}
.product-actions .btn{width:100%;white-space:normal;line-height:1.35;text-align:center;min-height:40px}
.product-actions .btn.outline{border-color:#b72738;color:#922034;background:#fff}
.product-actions .btn.outline:hover{background:#fff1f2}

/* Gift photo update: full product fits in card without cropping. */
.picture.gift-picture {height:auto;aspect-ratio:1 / 1;background:#faf7f7;overflow:hidden;}
.picture.gift-picture img {display:block;width:100%;height:100%;min-height:0;min-width:0;max-width:100%;max-height:100%;object-fit:contain !important;object-position:center;position:relative;z-index:1;}
.picture.gift-picture .item-emoji {font-size:clamp(64px,8vw,110px)}
.picture.gift-picture:focus-visible {outline:3px solid #a91427;outline-offset:2px;}
.gift-preview-shade{position:fixed;inset:0;z-index:2000;background:rgba(25,16,19,.86);display:flex;align-items:center;justify-content:center;padding:16px;}
.gift-preview-shade.hidden{display:none;}
.gift-preview-box{position:relative;width:min(94vw,780px);max-height:94vh;overflow-y:auto;background:#fff;border-radius:16px;padding:16px;box-shadow:0 16px 80px rgba(0,0,0,.3);}
.gift-preview-box img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:#faf7f7;border-radius:9px;}
.gift-preview-name{text-align:center;font-size:17px;font-weight:700;margin:14px 38px 6px;color:#2b1a1e}
.gift-preview-price{text-align:center;font-size:15px;color:#a91427;font-weight:700;margin-bottom:4px}
.gift-preview-close{position:absolute;right:16px;top:16px;z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid #ddd;background:white;color:#222;font-size:28px;cursor:pointer;line-height:1;}
.gift-preview-placeholder{min-height:250px;display:flex;align-items:center;justify-content:center;font-size:110px;background:#faf7f7;}
.gift-preview-placeholder.hidden{display:none;}
