:root{--purple:#6424d7;--ink:#221333;--yellow:#ffe55a;--paper:#fff;--muted:#665c72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #bc6d00;outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,6.6vw,6.4rem);font-weight:800}h2{font-size:clamp(2.2rem,4vw,3.8rem)}h3{font-size:1.6rem}.wrap{width:min(1180px,calc(100% - 72px));margin:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 0;border-bottom:1px solid #e9e4ef}.brand{font-size:2rem;font-weight:900;letter-spacing:-.08em;white-space:nowrap}.brand span{color:var(--purple)}.brand b{color:var(--purple);display:inline-block;font-size:1.9rem;margin-left:8px}nav{display:flex;gap:28px;font-size:.9rem;font-weight:600}nav a:hover,.text-link:hover,footer a:hover{color:var(--purple)}.header-call{font-weight:700;font-size:.95rem}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-top:66px;padding-bottom:74px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;margin-bottom:24px}h1 span,.social h2 span,.contacts h2 span{color:var(--purple)}.intro{max-width:450px;font-size:1.15rem;color:var(--muted);margin:27px 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 23px;font-weight:700;border-radius:12px;font-size:.95rem;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--purple);color:white}.primary:hover{background:#4e16b2}.outline{border:1px solid #d3c8e2}.outline:hover{background:#f5f1fc}.yellow{background:var(--yellow);color:var(--ink)}.hero-note{display:flex;align-items:center;gap:15px;font-size:.85rem;line-height:1.4;margin-top:36px;color:var(--muted)}.hero-note span{font-size:2.7rem;color:var(--purple)}.hero-visual{position:relative;padding:20px 23px 43px;background:#f0e9ff;border-radius:32px;transform:rotate(2deg)}.hero-logo{width:100%;height:420px;object-fit:cover;border-radius:20px}.sticker{position:absolute;bottom:65px;left:-30px;background:var(--yellow);color:var(--ink);padding:18px 24px;border-radius:12px;transform:rotate(-8deg);font-size:.95rem;box-shadow:0 7px 0 #24153515}.sticker strong{font-size:1.2rem}.visual-caption{display:block;margin-top:14px;font-size:.75rem;letter-spacing:.08em;text-align:right}.ribbon{display:flex;justify-content:center;align-items:center;gap:45px;background:var(--yellow);padding:19px 24px;font-size:.95rem;font-weight:800;letter-spacing:.06em;overflow:hidden}.ribbon b{font-size:1.9rem;line-height:1}.section{padding-top:90px;padding-bottom:90px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}.section-head>p,.section-head>div>p:not(.eyebrow){color:var(--muted)}.gift-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.gift-photo{position:relative}.gift-photo img{width:100%;height:380px;object-fit:cover;border-radius:24px}.gift-photo figcaption{position:absolute;left:18px;bottom:18px;background:white;padding:8px 14px;border-radius:8px;font-size:.8rem}.gift-list article{display:flex;gap:20px;position:relative;padding:25px 0;border-bottom:1px solid #e9e4ef}.gift-list article:first-child{padding-top:0}.gift-list p{color:var(--muted);margin-top:11px;max-width:380px}.number{color:var(--purple);font-size:.8rem;font-weight:700;padding-top:4px}.accent{margin-left:auto;font-size:2.5rem;color:var(--purple)}.text-link{display:inline-block;font-weight:700;margin-top:24px;text-decoration:underline;text-underline-offset:5px}.balloons{background:var(--purple);color:white}.balloons .section-head>div>p:not(.eyebrow){color:#eee4ff;margin-bottom:20px}.occasions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.occasions span{border:1px solid #a782ea;border-radius:30px;padding:7px 15px;font-size:.85rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery img{height:270px;width:100%;object-fit:cover;border-radius:18px;transition:transform .2s}.gallery a{display:block;overflow:hidden;border-radius:18px}.gallery a:hover img{transform:scale(1.04)}.gallery figcaption{font-weight:700;margin-top:14px}.gallery-note{font-size:.8rem;color:#eee4ff;margin-top:24px}.social-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:center}.social-links>a{display:flex;align-items:center;gap:18px;padding:28px 0;border-bottom:1px solid #e9e4ef}.social-links>a:hover strong{text-decoration:underline}.social-icon{display:grid;place-items:center;background:#eef4ff;color:#1265c7;border-radius:14px;width:58px;height:58px;flex-shrink:0;font-weight:900;font-size:1.4rem}.instagram{background:#fceaf5;color:#b42a77;font-size:2.2rem}.social-links strong{font-size:1.3rem}.social-links small{display:block;color:var(--muted);font-size:.85rem;margin-top:4px}.handle{font-size:.75rem;color:var(--muted);margin-left:auto}.contacts{background:#f4f0fc}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contacts h2{margin-bottom:24px}.contacts .button{margin-top:27px}.contact-card{padding:35px;background:white;border-radius:24px}.contact-card>div{padding-bottom:23px}.label{display:block;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin-bottom:9px}.contact-card h3{line-height:1.25}.phone{font-size:1.4rem;font-weight:700}.contact-card a:hover{text-decoration:underline}details{border-top:1px solid #e9e4ef;padding-top:20px}summary{cursor:pointer;font-weight:700;font-size:.9rem}details p{font-size:.85rem;color:var(--muted);margin-top:15px}.hours-note{margin-top:20px;color:var(--muted);font-size:.8rem}footer{display:flex;gap:24px;align-items:center;padding-top:30px;padding-bottom:30px}footer .brand{font-size:1.6rem}footer p{margin-right:auto;color:var(--muted);font-size:.8rem}footer>a:not(.brand){font-size:.8rem}.mobile-actions{display:none}.skip{position:fixed;top:-100px;left:15px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}@media(min-width:1600px){.hero{padding-top:85px;padding-bottom:95px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.header-call{display:none}.hero{gap:40px}.hero-logo{height:360px}.gift-grid,.social-layout,.contact-grid{gap:35px}.handle{display:none}.gallery img{height:220px}.ribbon{gap:20px;font-size:.8rem}}@media(max-width:680px){.wrap{width:calc(100% - 36px)}.header{padding:17px 0;gap:15px;flex-wrap:wrap}.brand{font-size:1.8rem}nav{gap:16px;font-size:.8rem;flex-wrap:wrap}nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr;padding-top:34px;padding-bottom:40px;gap:32px}h1{font-size:clamp(3.4rem,14vw,5rem)}.eyebrow{font-size:.75rem;margin-bottom:18px;letter-spacing:.08em}.intro{font-size:1rem;margin-top:23px}.hero-note{margin-top:23px}.hero-visual{max-width:460px;width:calc(100% - 14px);margin:auto;padding:14px 14px 32px;border-radius:24px}.hero-logo{height:auto;aspect-ratio:1.05;object-fit:contain;background:#761554}.sticker{left:-9px;bottom:50px;padding:12px 16px;font-size:.8rem}.sticker strong{font-size:1rem}.visual-caption{font-size:.75rem}.ribbon{gap:20px;justify-content:flex-start;white-space:nowrap;font-size:.75rem;padding:16px 18px}.ribbon span:last-child,.ribbon b:last-of-type{display:none}.section{padding-top:55px;padding-bottom:55px}.section-head{display:block;margin-bottom:28px}h2{font-size:2.5rem}.section-head>p,.section-head>div+div{margin-top:22px}.gift-grid,.social-layout,.contact-grid{grid-template-columns:1fr;gap:30px}.gift-photo img{height:310px}.gift-list h3{font-size:1.4rem}.gift-list p{font-size:.95rem}.gallery{grid-template-columns:1fr;gap:25px}.gallery img{height:auto;aspect-ratio:4/3}.occasions{gap:8px}.occasions span{font-size:.8rem}.social-links>a{padding:23px 0}.social-links strong{font-size:1.15rem}.social-links small{font-size:.8rem}.contact-card{padding:25px}.phone{font-size:1.25rem}footer{flex-wrap:wrap;gap:14px;padding-bottom:98px}footer p{width:100%;order:3}footer .brand{margin-right:auto}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid #e4d9f8;padding:10px 18px max(10px,env(safe-area-inset-bottom));gap:10px;z-index:10}.mobile-actions a{min-height:44px;display:grid;place-items:center;font-size:.9rem;font-weight:700;border-radius:10px;background:#eee5fd}.mobile-actions a:last-child{background:var(--purple);color:white}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:360px){nav{gap:10px}.button{padding:13px 17px}.ribbon{font-size:.7rem;gap:12px}h2{font-size:2.2rem}}

/* Updated imagery and horizontal gallery */
.hero-logo{height:auto;aspect-ratio:1;object-fit:contain;background:#f0e9ff}.gift-photo img{height:auto;aspect-ratio:1022/1280;object-fit:contain}.gallery{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 3px 15px;scrollbar-color:#ffe55a #8c58e8;scrollbar-width:thin}.gallery figure{flex:0 0 calc((100% - 40px)/3);min-width:0;scroll-snap-align:start}.gallery img{height:auto;aspect-ratio:4/3;object-fit:cover}.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin:22px 0 15px}.gallery-controls span{font-size:.85rem}.gallery-controls button{font:700 .85rem Arial,sans-serif;color:white;background:transparent;border:1px solid #a782ea;border-radius:10px;min-height:44px;padding:10px 18px;cursor:pointer}.gallery-controls button:hover{background:#7c3de0}.gallery-controls button:disabled{opacity:.45;cursor:default}.gallery-controls button:focus-visible{outline:3px solid #ffe55a;outline-offset:4px}@media(max-width:1000px){.gallery figure{flex-basis:calc((100% - 20px)/2)}}@media(max-width:680px){.gallery figure{flex-basis:86%}.gallery-controls{justify-content:space-between;gap:10px}.gallery-controls span{font-size:.75rem}.gift-photo figcaption{position:static;margin-top:12px;padding:0;background:transparent}.gift-photo img{border-radius:20px}.hero-logo{aspect-ratio:1;object-fit:contain;background:#f0e9ff}}

.catalog-section{border-top:1px solid #e9e4ef}.catalog-toolbar{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;margin-bottom:20px}.catalog-toolbar label{font-size:.85rem;font-weight:700}.catalog-toolbar input,.catalog-toolbar select{display:block;width:100%;min-width:0;font:inherit;background:#f7f4fc;color:var(--ink);padding:14px;border:1px solid #d3c8e2;border-radius:12px;margin-top:8px}.catalog-status,.catalog-updated{color:var(--muted);font-size:.85rem;margin:20px 0}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.product-card{border:1px solid #e9e4ef;border-radius:18px;overflow:hidden;padding:16px;min-width:0}.product-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f7f4fc;border-radius:12px}.product-category{font-size:.75rem;color:var(--muted);margin:15px 0 10px;overflow-wrap:anywhere}.product-card h3{font-size:1.15rem;line-height:1.35;letter-spacing:-.02em;overflow-wrap:anywhere}.product-price{font-size:1.25rem;font-weight:800;margin-top:16px;color:var(--purple)}.product-stock{font-size:.85rem;color:var(--muted);margin-top:6px}.catalog-more{margin:30px auto 0;display:flex;cursor:pointer;background:white}.catalog-more[hidden]{display:none}@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header nav{gap:18px}}@media(max-width:680px){.catalog-toolbar{grid-template-columns:1fr;gap:15px}.catalog-grid{gap:15px}.product-card{padding:10px;border-radius:12px}.product-card h3{font-size:1rem}.product-price{font-size:1.05rem}.product-category{font-size:.75rem}.header nav{gap:14px}.header nav a:nth-child(2){display:inline}.header nav a:nth-child(3){display:none}}@media(max-width:380px){.catalog-grid{grid-template-columns:1fr}}

.photo-viewer-open{overflow:hidden}.photo-viewer{width:min(1100px,96vw);max-width:96vw;height:92vh;height:92dvh;max-height:96vh;padding:16px;border:1px solid #ffffff30;border-radius:20px;background:#171022;color:#fff;overflow:hidden}.photo-viewer::backdrop{background:#10091dde;backdrop-filter:blur(6px)}.photo-viewer[open]{display:flex;flex-direction:column;gap:12px}.photo-viewer-toolbar,.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.photo-viewer button{font:700 .9rem Arial,sans-serif;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid #ffffff60;background:#ffffff12;color:#fff;cursor:pointer}.photo-viewer button:hover{background:#ffffff25}.photo-viewer button:disabled{opacity:.35;cursor:default}.photo-viewer :focus-visible{outline:3px solid #ffe55a;outline-offset:2px}.photo-viewer-strip{display:flex;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffe55a #ffffff20}.photo-viewer-slide{margin:0;flex:0 0 100%;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;scroll-snap-align:start;scroll-snap-stop:always;gap:12px;padding-bottom:12px}.photo-viewer-slide img{display:block;flex:1;min-height:0;width:100%;object-fit:contain;border-radius:8px}.photo-viewer-slide figcaption{text-align:center;font-size:1rem;flex-shrink:0;overflow-wrap:anywhere}.photo-viewer-count,.photo-viewer-controls span{font-size:.85rem}@media(max-width:680px){.photo-viewer{padding:12px;width:96vw;height:94dvh;border-radius:14px}.photo-viewer button{padding:10px 12px}.photo-viewer-controls span{font-size:.75rem}.photo-viewer-slide figcaption{font-size:.9rem}}

.product-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;border-radius:12px;cursor:zoom-in}.product-image-button img{display:block}.product-image-count{position:absolute;right:8px;bottom:8px;background:#221333dc;color:white;font-size:.75rem;padding:4px 8px;border-radius:7px}.photo-viewer-auto[hidden]{display:none}
