:root{--cream:#fdf7ee;--cream-2:#f7eddd;--ink:#2e2219;--muted:#86705d;--pink:#e0457b;--pink-soft:#fbd9e4;--gold:#dfa514;--line:#2e22191a;--display:"Playfair Display", serif;--ease:cubic-bezier(.2, .7, .2, 1);--pad:clamp(16px, 5vw, 72px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Jost,system-ui,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.08}h1 em,h2 em{color:var(--pink);font-style:italic}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;font-size:12px;font-weight:500}.lead{color:var(--muted);max-width:58ch;font-size:17px}.btn{transition:transform .25s var(--ease), box-shadow .25s, background .25s, color .25s;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:13px 24px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:var(--cream);box-shadow:0 10px 30px #2e221938}.btn-primary:hover{background:var(--pink);box-shadow:0 14px 34px #e0457b59}.btn-ghost{border-color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--cream)}.btn-sm{padding:9px 18px;font-size:14px}.nav{z-index:10;padding:14px var(--pad);justify-content:space-between;align-items:center;transition:background .35s,box-shadow .35s,padding .35s;display:flex;position:fixed;inset:0 0 auto}.nav.solid{-webkit-backdrop-filter:blur(16px)saturate(1.2);box-shadow:0 1px 0 var(--line);background:#fdf7eedb;padding-block:10px}.nav-brand{align-items:center;gap:12px;text-decoration:none;display:flex}.nav-brand img{width:48px;height:48px;transition:transform .4s var(--ease);border-radius:50%;box-shadow:0 4px 16px #0000001f}.nav-brand:hover img{transform:rotate(-12deg)scale(1.05)}.nav-brand span{font-family:var(--display);font-size:21px}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a:not(.btn){font-size:15px;text-decoration:none;position:relative}.nav-links a:not(.btn):after{content:"";background:var(--pink);height:1.5px;transition:right .3s var(--ease);position:absolute;bottom:-4px;left:0;right:100%}.nav-links a:not(.btn):hover:after{right:0}.nav-links svg{width:18px;height:18px}.nav-burger{background:0 0;border:0;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;display:none}.nav-burger span{background:var(--ink);border-radius:2px;height:2px;transition:transform .3s,opacity .3s;display:block}.hero{min-height:100svh;padding:110px var(--pad) 56px;grid-template-columns:1fr 1.08fr;align-items:center;gap:clamp(24px,4vw,64px);display:grid;position:relative;overflow:hidden}.hero-blob{filter:blur(60px);opacity:.55;pointer-events:none;border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:absolute}.hero-blob.a{background:var(--pink-soft);width:46vw;height:46vw;top:-14vw;left:-12vw}.hero-blob.b{background:#ffeaa8;width:38vw;height:38vw;animation-delay:-9s;bottom:-16vw;right:-10vw}@keyframes drift{to{transform:translate(6vw,4vw)scale(1.12)}}.hero-text{z-index:1;position:relative}.hero h1{margin-bottom:22px;font-size:clamp(42px,6.2vw,86px)}.hero-cta{flex-wrap:wrap;gap:12px;margin:28px 0 8px;display:flex}.hero-text>*{animation:rise .9s var(--ease) both}.hero-text>:nth-child(2){animation-delay:80ms}.hero-text>:nth-child(3){animation-delay:.16s}.hero-text>:nth-child(4){animation-delay:.24s}.hero-text>:nth-child(5){animation-delay:.32s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.hero-stage{z-index:1;aspect-ratio:1/1.02;width:100%;max-height:calc(100svh - 150px);animation:rise 1s .2s var(--ease) both;border-radius:36px;justify-self:center;transition:background .8s;position:relative;overflow:hidden;box-shadow:0 30px 80px #2e221933,inset 0 0 0 1px #fff9}.hero-stage canvas,.promo-stage canvas{pointer-events:none}.hero-photos{background:#fff}.hero-photos img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.4s var(--ease), transform 7s linear;position:absolute;inset:0;transform:scale(1.06)}.hero-photos img.on{opacity:1;transform:scale(1)}button.hero-caption{text-align:left;cursor:pointer;border:0}.hero-caption{color:var(--ink)}.hero-poster{object-fit:cover;filter:blur(14px)saturate(1.1);opacity:.7;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.1)}.hero-caption{-webkit-backdrop-filter:blur(14px);background:#ffffffb8;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;text-decoration:none;display:flex;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 8px 24px #00000014}.hero-caption span{font-family:var(--display);font-size:19px;line-height:1.2}.hero-caption small{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-family:Jost,sans-serif;font-size:11px;display:block}.hero-caption b{white-space:nowrap;color:var(--pink);font-size:14px;font-weight:500}.hero-dots{justify-content:center;gap:7px;display:flex;position:absolute;top:16px;left:0;right:0}.hero-dots button{width:8px;height:8px;transition:width .35s var(--ease), background .35s;background:#2e221938;border:0;border-radius:99px;padding:0}.hero-dots button.on{background:var(--ink);width:26px}.section{padding:clamp(32px, 4vw, 56px) var(--pad)}.nowrap{white-space:nowrap}.section-head{max-width:760px;margin-bottom:clamp(24px,3.5vw,44px)}.section h2{margin-bottom:18px;font-size:clamp(32px,4.4vw,56px)}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}.features{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.feature{box-shadow:0 1px 0 var(--line), 0 20px 50px #2e22190d;background:#fff;border-radius:26px;padding:30px 28px}.feature-n{font-family:var(--display);color:var(--pink);font-size:22px;font-style:italic}.feature h3{margin:10px 0;font-size:24px}.feature p{color:var(--muted);margin:0}.collections-sec{background:linear-gradient(var(--cream), var(--cream-2))}.col-grid{grid-template-columns:repeat(6,1fr);gap:22px;display:grid}.col-card{grid-column:span 2}.col-card:nth-child(4),.col-card:nth-child(5){grid-column:span 3}.col-card article{background:var(--c-bg);height:100%;transition:transform .45s var(--ease), box-shadow .45s;border-radius:28px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 60px #2e22191a}.col-card article:hover{transform:translateY(-6px);box-shadow:0 34px 70px #2e221929}.col-cover{aspect-ratio:4/3;background:#fff;border:0;padding:0;position:relative;overflow:hidden}.col-cover-bg{object-fit:cover;filter:blur(22px)saturate(1.1);opacity:.55;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.25)}.col-cover-img{object-fit:contain;width:100%;height:100%;transition:transform 1.1s var(--ease);position:relative}.col-card article:hover .col-cover-img{transform:scale(1.04)}.col-body{flex-direction:column;flex:1;padding:24px 26px 26px;display:flex}.col-body h3{font-family:var(--c-font);color:var(--ink);font-size:34px}.col-desc{margin:10px 0 8px;font-size:15px}.col-note{color:var(--muted);margin:0 0 14px;font-size:14.5px;font-style:italic}.col-tags{letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent);margin:0;font-size:11.5px;font-weight:500}.col-names{color:var(--muted);margin:4px 0 18px;font-size:13.5px}.col-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;display:flex}.btn-col{background:var(--c-accent);color:#fff;padding:10px 20px;font-size:14px}.btn-col:hover{filter:brightness(1.08);box-shadow:0 10px 24px #00000024}.btn-col svg,.btn svg{width:18px;height:18px}.promo{padding:0 var(--pad)}.promo-inner{background:var(--ink);color:var(--cream);border-radius:36px;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;padding:clamp(36px,6vw,72px);display:grid;position:relative;overflow:hidden}.promo-inner:before{content:"";aspect-ratio:1;background:radial-gradient(var(--pink), transparent 65%);opacity:.35;border-radius:50%;width:60%;position:absolute;top:-40%;right:-18%}.promo h2{margin-bottom:20px;font-size:clamp(32px,4.2vw,54px)}.promo h2 em{color:#ffc2d6}.promo ul{color:#fdf7eecc;gap:12px;margin:0 0 30px;padding:0;list-style:none;display:grid}.promo li{padding-left:28px;position:relative}.promo li:before{content:"✦";color:var(--gold);position:absolute;left:0}.promo .btn-primary{background:var(--cream);color:var(--ink)}.promo .btn-primary:hover{background:var(--pink);color:#fff}.promo-lead{color:#fdf7eec7;max-width:52ch;margin:0 0 18px}.promo-stage{z-index:1;aspect-ratio:1/.9;border-radius:28px;transition:background .8s;position:relative;overflow:hidden;box-shadow:0 24px 60px #0006}.promo-pics{height:340px;position:relative}.promo-pics img{aspect-ratio:1;object-fit:cover;border:5px solid var(--cream);width:56%;left:calc(var(--i) * 22%);top:calc(var(--i) * 12%);transform:rotate(calc((var(--i) - 1) * 7deg));transition:transform .5s var(--ease);border-radius:22px;position:absolute;box-shadow:0 20px 50px #00000059}.promo-inner:hover .promo-pics img{transform:rotate(calc((var(--i) - 1) * 11deg)) translateY(-6px)}.mural{columns:4 240px;column-gap:16px}.mural-item{break-inside:avoid;background:#fff;border:0;border-radius:20px;width:100%;margin:0 0 16px;padding:0;display:block;overflow:hidden;box-shadow:0 10px 30px #2e221914}.mural-item img{width:100%;height:auto;transition:transform .8s var(--ease)}.mural-item:hover img{transform:scale(1.04)}.gift{padding-top:0}.gift-inner{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(28px,5vw,64px);display:grid}.gift-photo{cursor:zoom-in;background:#fff;border:0;border-radius:30px;padding:0;display:block;overflow:hidden;box-shadow:0 24px 60px #2e221924}.gift-photo img{width:100%;height:auto;transition:transform .8s var(--ease)}.gift-photo:hover img{transform:scale(1.03)}.gift-text .lead{margin:0 0 14px}.gift-text>p{margin:0 0 12px}.gift-list{gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.gift-list li{color:var(--muted);padding-left:28px;position:relative}.gift-list li:before{content:"✦";color:var(--gold);position:absolute;left:0}.gift-ask{font-family:Playfair Display,serif;font-size:20px;font-style:italic}.contact-card{background:linear-gradient(135deg, var(--pink-soft), #fff3c9);border-radius:36px;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding:clamp(32px,5vw,64px);display:grid}.contact-city{color:var(--muted);align-items:center;gap:8px;display:flex}.contact-links{gap:12px;display:grid}.contact-link{transition:transform .25s var(--ease), background .25s;background:#ffffffc7;border-radius:18px;align-items:center;gap:14px;padding:16px 20px;text-decoration:none;display:flex}.contact-link:hover{background:#fff;transform:translate(4px)}.contact-link svg{color:var(--pink)}.contact-soon{color:var(--muted);background:#ffffffb3;border-radius:18px;margin:0;padding:20px;font-style:italic}.footer{padding:48px var(--pad) 40px;text-align:center;border-top:1px solid var(--line);justify-items:center;gap:22px;display:grid}.footer nav{flex-wrap:wrap;justify-content:center;gap:22px;display:flex}.footer nav a{color:var(--muted);text-decoration:none}.footer nav a:hover{color:var(--pink)}.footer p{color:var(--muted);margin:0;font-size:13px}.footer-social{gap:12px;display:flex}.footer-social a{width:44px;height:44px;color:var(--pink);transition:transform .25s var(--ease);background:#fff;border-radius:50%;place-items:center;display:grid;box-shadow:0 6px 18px #2e221914}.footer-social a:hover{transform:translateY(-3px)}@media (width<=1080px){.col-card,.col-card:nth-child(4),.col-card:nth-child(5){grid-column:span 3}.col-card:nth-child(5){grid-column:2/span 4}}@media (width<=760px){body{font-size:15.5px}.nav{padding-block:10px}.nav-brand img{width:40px;height:40px}.nav-brand span{font-size:18px}.nav-burger{display:flex}.nav-links{opacity:0;pointer-events:none;transition:opacity .25s, transform .25s var(--ease);background:#fdf7eef7;border-radius:22px;flex-direction:column;align-items:stretch;gap:4px;padding:14px;position:fixed;inset:64px 12px auto;transform:translateY(-10px);box-shadow:0 20px 50px #00000024}.nav.open .nav-links{opacity:1;pointer-events:auto;transform:none}.nav-links a:not(.btn){padding:12px 10px;font-size:17px}.nav-links a:not(.btn):after{display:none}.nav-links .btn{justify-content:center;margin-top:6px;padding:13px}.nav.open .nav-burger span:first-child{transform:translateY(8px)rotate(45deg)}.nav.open .nav-burger span:nth-child(2){opacity:0}.nav.open .nav-burger span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.nav:not(.solid){background:linear-gradient(#fdf7eee6,#0000)}.hero{grid-template-columns:1fr;gap:26px;min-height:0;padding-top:84px}.hero-stage{aspect-ratio:1;border-radius:28px;order:-1;max-height:none}.hero h1{font-size:40px}.hero-cta .btn{white-space:nowrap;flex:auto;justify-content:center;padding:12px 14px;font-size:14.5px}.hero-cta .btn-primary{flex-basis:100%}.hero-caption{padding:10px 14px;bottom:10px;left:10px;right:10px}.hero-caption span{font-size:16px}.features,.col-grid{grid-template-columns:1fr}.col-card,.col-card:nth-child(4),.col-card:nth-child(5){grid-column:auto}.col-body h3{font-size:30px}.promo{padding:0 12px}.promo-inner{border-radius:28px;grid-template-columns:1fr}.promo-pics{height:220px}.promo-stage{aspect-ratio:1;border-radius:22px}.mural{columns:2;column-gap:10px}.mural-item{border-radius:14px;margin-bottom:10px}.contact-card{border-radius:28px;grid-template-columns:1fr}.gift-inner{grid-template-columns:1fr}.gift-photo{border-radius:22px}.gift-text .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
