.magic-services{--ms-pink:#f3dcdc;--ms-lilac:#e6ddef;--ms-sage:#e1e6d3;--ms-pink-ink:#9a5a72;--ms-lilac-ink:#6f5490;--ms-sage-ink:#5d6b3f;position:relative}.magic-head{text-align:center;max-width:640px;margin:0 auto 46px}.magic-head h2{margin:15px 0 16px}.magic-head p{font-size:14px}.magic-grid{grid-template-columns:repeat(6,1fr);gap:26px;margin:0;padding:0;list-style:none;display:grid}.magic-item{grid-column:span 2;display:flex}.magic-item:last-child:nth-child(3n+1){grid-column:3/span 2}.magic-reveal{width:100%;display:flex}.magic-card{background:#fffdfa;border:1px solid #eee4dd;border-radius:24px;flex-direction:column;width:100%;padding:12px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;display:flex;box-shadow:0 2px 10px #593c500a}.magic-card:hover,.magic-card:focus-within{transform:translateY(-6px);box-shadow:0 18px 40px #593c501c}.magic-photo{aspect-ratio:4/3;background:var(--ms-pink);border-radius:16px;position:relative;overflow:hidden}.magic-card.lilac .magic-photo{background:var(--ms-lilac)}.magic-card.sage .magic-photo{background:var(--ms-sage)}.magic-photo img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.magic-card:hover .magic-photo img{transform:scale(1.05)}.magic-number{min-width:40px;height:40px;color:var(--ms-pink-ink);background:#fffdfaeb;border-radius:999px;place-items:center;padding:0 10px;font:italic 15px Georgia,serif;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #593c5014}.magic-card.lilac .magic-number{color:var(--ms-lilac-ink)}.magic-card.sage .magic-number{color:var(--ms-sage-ink)}.magic-body{flex-direction:column;flex:1;padding:20px 12px 8px;display:flex}.magic-body h3{letter-spacing:-.5px;color:var(--plum);margin-bottom:10px;font:26px/1.15 Georgia,serif}.magic-body p{margin-bottom:20px;font-size:13px;line-height:1.75}.magic-link{text-align:left;width:100%;color:var(--ms-pink-ink);cursor:pointer;background:0 0;border:0;border-top:1px solid #e6dad6;justify-content:space-between;align-items:center;margin-top:auto;padding:16px 0 6px;font-size:12px;font-weight:500;display:flex}.magic-card.lilac .magic-link{color:var(--ms-lilac-ink)}.magic-card.sage .magic-link{color:var(--ms-sage-ink)}.magic-link svg{transition:transform .25s}.magic-link:hover svg,.magic-link:focus-visible svg{transform:translate(3px,-3px)}.magic-cta{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:560px;margin:52px auto 0;display:flex}.magic-cta .button{gap:16px}@media (max-width:1100px){.magic-grid{grid-template-columns:repeat(4,1fr);gap:22px}.magic-item,.magic-item:last-child:nth-child(3n+1){grid-column:span 2}.magic-item:last-child:nth-child(odd){grid-column:2/span 2}}@media (max-width:760px){.magic-head{margin-bottom:32px}.magic-grid{grid-template-columns:1fr;gap:20px}.magic-item,.magic-item:last-child:nth-child(odd),.magic-item:last-child:nth-child(3n+1){grid-column:auto}.magic-body h3{font-size:24px}.magic-cta{margin-top:40px}}@media (prefers-reduced-motion:reduce){.magic-card,.magic-photo img,.magic-link svg{transition:none}.magic-card:hover,.magic-card:focus-within,.magic-card:hover .magic-photo img{transform:none}}
.portfolio-carousel{color:#4b3443;background:linear-gradient(135deg,#f4e9e3,#f0e5ec);border:1px solid #e3d1d4;border-radius:28px;padding:30px 0 22px;overflow:hidden}.archive-heading{justify-content:space-between;align-items:center;gap:16px;padding:0 30px;display:flex}.archive-label{font:italic 28px/1.3 Georgia,serif}.archive-count{color:#806f78;font-size:11px}.archive-filters{flex-wrap:wrap;gap:8px;padding:24px 30px 0;display:flex}.archive-filters button{background:#fffaf3a0;border:1px solid #d9c7cd;border-radius:999px;padding:10px 18px;font-size:12px;transition:background .2s,color .2s}.archive-filters button[aria-pressed=true]{color:#fffaf3;background:#674b5e;border-color:#674b5e}.archive-filters button:hover{border-color:#936e82}.archive-viewport{touch-action:pan-y;outline-offset:-4px;padding:28px 0 30px;position:relative;overflow:hidden}.archive-track{cursor:grab;touch-action:pan-y;gap:24px;width:max-content;min-width:100%;padding:0 30px;display:flex;position:relative}.archive-card{-webkit-user-select:none;user-select:none;background:#fffaf3;border:1px solid #e5d7ce;border-radius:24px;flex:none;width:clamp(245px,27vw,350px);padding:10px;transition:box-shadow .25s;overflow:hidden}.archive-card:hover{box-shadow:0 14px 28px #936e8226}.archive-open{text-align:left;width:100%;cursor:inherit;background:0 0;border:0;border-radius:16px;padding:0;display:block}.archive-image{aspect-ratio:3/4;background:#eaded8;border-radius:17px;position:relative;overflow:hidden}.archive-image img{object-fit:cover;pointer-events:none;transition:transform .45s}.archive-card:hover .archive-image img{transform:scale(1.05)}.archive-card-copy{padding:18px 12px 12px}.archive-card h3{color:#593c50;margin-bottom:14px;font:400 26px/1.2 Georgia,serif}.archive-category{color:#806674;border:1px solid #e2d4d5;border-radius:999px;padding:6px 10px;font-size:10px;display:inline-block}.archive-view{float:right;color:#806674;padding-top:7px;font-size:10px}.archive-empty{min-height:200px;padding:36px 30px}.archive-footer{color:#806f78;justify-content:space-between;align-items:center;gap:16px;padding:0 30px;font-size:11px;display:flex}.archive-footer>div{gap:8px;display:flex}.archive-footer button{background:#fffaf3;border:1px solid #d9c7cd;border-radius:50%;width:42px;height:42px;font-size:20px}.archive-footer button:disabled{opacity:.4;cursor:default}.archive-loading{color:#674b5e;background:#f3e8e7;border-radius:28px;place-items:center;min-height:570px;font:italic 22px Georgia,serif;display:grid}.art-dialog.archive-lightbox[open]{-webkit-backdrop-filter:blur(24px);background:#fbf9f5c7;border:1px solid #fff9;border-radius:24px;width:660px;max-width:calc(100vw - 32px);height:fit-content;max-height:80dvh;margin:auto;padding:0;display:block;position:fixed;inset:0;overflow:hidden;box-shadow:0 25px 60px -15px #4a3b4e33,0 8px 24px #4a3b4e0f}.art-dialog.archive-lightbox::backdrop{-webkit-backdrop-filter:blur(6px);background:#4a3b4e1a}.archive-modal-content{overscroll-behavior:contain;max-height:calc(80dvh - 2px);padding:20px;overflow:auto}.archive-preview{background:#ffffff40;border-radius:16px;justify-content:center;align-items:center;width:100%;height:min(42dvh,360px);display:flex;position:relative;overflow:hidden}.archive-preview img{object-fit:contain;border-radius:16px;width:auto;max-width:100%;height:auto;max-height:100%}.archive-lightbox .lightbox-copy{align-items:flex-start;gap:10px;padding:18px 4px 4px}.archive-lightbox .lightbox-copy h2{letter-spacing:0;color:#3d313f;overflow-wrap:anywhere;font:400 24px/1.2 Georgia,serif}.archive-modal-category{color:#7a6e65;overflow-wrap:anywhere;background:#f7f2ecb3;border:1px solid #ffffff80;border-radius:999px;max-width:100%;padding:5px 11px;font-size:10px;display:inline-block}.archive-lightbox .lightbox-copy p{overflow-wrap:anywhere;font-size:12px;line-height:1.6}.archive-lightbox .lightbox-copy .button{color:#4a3b4e;box-shadow:none;background:0 0;border-radius:4px;gap:10px;padding:7px 0;font-size:11px}.archive-lightbox .close-dialog{z-index:2;color:#4a3b4e;background:#fffc;border:1px solid #ffffff80;width:36px;height:36px;transition:background .2s;position:absolute;top:28px;right:28px;box-shadow:0 2px 8px #4a3b4e12}.archive-lightbox .close-dialog:hover{background:#fff}@media (max-width:768px){.archive-heading{padding:0 20px}.archive-label{font-size:23px}.archive-filters{gap:6px;padding:20px 20px 0}.archive-filters button{padding:9px 13px}.archive-track{gap:16px;padding:0 20px}.archive-card{width:76vw;max-width:340px}.archive-footer{padding:0 20px}.archive-card h3{font-size:24px}}@media (prefers-reduced-motion:reduce){.archive-image img,.archive-card{transition:none}.archive-card:hover .archive-image img{transform:none}}.archive-card{background:#faf7f2;box-shadow:0 2px 8px #593c5009}.archive-card h3{font-style:italic}.archive-category{background:#f0e5ed;border-color:#e9dce5}.archive-image img{opacity:0;transition:opacity .3s,transform .45s}.archive-image.is-ready img{opacity:1}.archive-image-skeleton{background:#efe7de;position:absolute;inset:0}.archive-skeleton .archive-track{padding-top:28px;padding-bottom:30px}.archive-skeleton-pills{gap:8px;padding:24px 30px 0;display:flex}.archive-skeleton-pills span{background:#ede3de;border-radius:999px;width:75px;height:36px}.archive-pulse{animation:1.6s ease-in-out infinite archive-pulse}@keyframes archive-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.archive-pulse{animation:none}.archive-image img{transition:none}}.work .section-top h2{font-family:var(--font-italiana),Georgia,serif;letter-spacing:-.025em;color:#2c2523;line-height:1.1}.work .section-top h2 em{letter-spacing:.015em;color:#4a3b4e;font-family:Georgia,serif;font-size:1.08em;font-weight:400;display:inline-block}.portfolio-carousel{color:#5c544d;background:linear-gradient(#faf6f0 0%,#f5efe6 100%);border:1px solid #efe7dd;border-radius:24px;padding:32px 0 26px;box-shadow:0 20px 50px #00000008}.archive-heading{flex-wrap:wrap;gap:14px;padding:0 32px}.archive-label{color:#4a3b4e;font:italic 27px/1.3 Georgia,serif}.archive-count{font:400 10px/1.4 var(--font-dm-sans),Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8c827a;background:#ffffff70;border:1px solid #eae3da;border-radius:999px;padding:9px 13px}.archive-filters{gap:9px;padding:24px 32px 0}.archive-filters button{color:#5c544d;letter-spacing:.015em;background:#fff9;border:1px solid #eae3da;border-radius:999px;padding:10px 19px;font-size:11px;transition:background .2s,box-shadow .2s,border-color .2s,color .2s}.archive-filters button:hover{background:#fff;border-color:#ded3c8;box-shadow:0 3px 8px #30252208}.archive-filters button[aria-pressed=true]{color:#fff;background:#4a3b4e;border-color:#4a3b4e;box-shadow:0 4px 14px #4a3b4e20}.wheel-stage{contain:layout paint;isolation:isolate;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;outline-offset:-5px;height:600px;position:relative;overflow:hidden}.wheel-stage.is-dragging{cursor:grabbing}.wheel-card{will-change:transform;backface-visibility:hidden;opacity:0;background:0 0;border:0;border-radius:20px;width:190px;padding:0;transition:box-shadow .3s;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #30252214}.wheel-card[data-active=true],.wheel-card:hover,.wheel-card:focus-within{box-shadow:0 18px 38px #3025221a,0 3px 9px #30252209}.wheel-stage:not([data-ready=true]) .wheel-card{visibility:hidden}.wheel-card .archive-open{cursor:inherit;border-radius:inherit}.wheel-card .archive-image{border-radius:inherit;aspect-ratio:3/4;background:#f2ece4;width:100%}.wheel-card .archive-image:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #fff6;position:absolute;inset:0}.wheel-footer{color:#8c827a;border-top:1px solid #eae3da;justify-content:space-between;align-items:center;gap:20px;margin:0 32px;padding:20px 0 0;font-size:11px;line-height:1.6;display:flex}.wheel-controls{flex-shrink:0;align-items:center;gap:10px;display:flex}.wheel-controls button{color:#75695f;background:#fff;border:1px solid #eae3da;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:19px;transition:background .2s,border-color .2s,box-shadow .2s,color .2s;display:grid}.wheel-controls button:hover{color:#4a3b4e;background:#fff;border-color:#cbbac8;box-shadow:0 3px 12px #4a3b4e0c}[data-wheel-counter]{font-variant-numeric:tabular-nums;letter-spacing:.13em;color:#8c827a;min-width:56px;margin-right:12px;font-size:10px}.wheel-pages{color:#8c827a;justify-content:center;align-items:center;gap:16px;margin-top:22px;font-size:11px;display:flex}.wheel-pages button{color:#5c544d;background:#fff9;border:1px solid #eae3da;border-radius:999px;padding:10px 14px}.wheel-pages button:disabled{opacity:.4;cursor:default}.archive-skeleton .archive-card{background:0 0;border:0;border-radius:20px;padding:0;box-shadow:0 4px 16px #30252214}.archive-skeleton .archive-image{border-radius:inherit}.archive-skeleton .archive-image,.archive-image-skeleton{background:#eee7dd}.archive-skeleton-pills span{background:#e9e1d6}@media (max-width:650px){.portfolio-carousel{padding-top:24px;padding-bottom:22px}.archive-heading{padding:0 20px}.archive-label{font-size:23px}.archive-count{letter-spacing:.12em;padding:8px 10px;font-size:8px}.archive-filters{gap:7px;padding:20px 20px 0}.archive-filters button{padding:9px 13px;font-size:10px}.wheel-stage{height:510px}.wheel-card{border-radius:18px;width:150px}.wheel-footer{flex-wrap:wrap;gap:14px;margin:0 20px}.wheel-controls{margin-left:auto}.work .section-top h2 em{font-size:1.02em}}@media (prefers-reduced-motion:reduce){.wheel-card{will-change:auto;transition:none}.archive-filters button,.wheel-controls button{transition:none}}
.trust-badge{color:var(--plum);letter-spacing:.1px;background:#fffdfa;border:1px solid #e4d6d6;border-radius:999px;align-items:center;gap:9px;margin:14px 0 0;padding:7px 14px 7px 10px;font-size:11.5px;line-height:1.35;display:inline-flex}.trust-icons{color:#8e6077;gap:3px;display:inline-flex}.trust-icons svg{flex:none}.trust-badge strong,.trust-location strong{font-weight:700}.trust-location{color:var(--plum);align-items:center;gap:7px;margin:10px 0 0;font-size:12px;line-height:1.4;display:flex}.trust-location svg{color:#8e6077;flex:none}.occasions{--oc-pink:#f3dcdc;--oc-lilac:#e6ddef;--oc-sage:#e1e6d3}.occasions-head{text-align:center;max-width:640px;margin:0 auto 44px}.occasions-head h2{margin:15px 0 0}.occasions-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.occasions-grid>li{display:flex}.occasion-card{text-align:center;background:#fffdfa;border:1px solid #eee4dd;border-radius:24px;width:100%;padding:32px 28px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;box-shadow:0 2px 10px #593c500a}.occasion-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px #593c5017}.occasion-icon{background:var(--oc-pink);color:#9a5a72;border-radius:50%;place-items:center;width:62px;height:62px;margin-bottom:18px;display:inline-grid}.occasion-card.lilac .occasion-icon{background:var(--oc-lilac);color:#6f5490}.occasion-card.sage .occasion-icon{background:var(--oc-sage);color:#5d6b3f}.occasion-card h3{color:var(--plum);margin:0 0 10px;font-size:19px;line-height:1.3}.occasion-card p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.7}.contact-head{text-align:center;margin-bottom:34px}.contact-head h2{margin:15px 0 0}.contact-list{grid-template-columns:repeat(3,1fr);gap:18px;max-width:960px;margin:0 auto;padding:0;list-style:none;display:grid}.contact-list a{height:100%;color:var(--plum);overflow-wrap:anywhere;background:#fffdfa;border:1px solid #eee4dd;border-radius:20px;align-items:center;gap:14px;padding:18px 20px;font-size:14px;text-decoration:none;transition:background .25s,border-color .25s;display:flex}.contact-list a:hover,.contact-list a:focus-visible{background:#fbf1f0;border-color:#dcc3c6}.contact-list small{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:10px;display:block}.contact-icon{background:var(--pink);color:#8e6077;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}@media (max-width:1000px){.occasions-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}.contact-list{grid-template-columns:1fr;max-width:460px}}@media (max-width:760px){.trust-location,.trust-badge{font-size:11px}.occasion-card{padding:26px 20px}}@media (prefers-reduced-motion:reduce){.occasion-card,.occasion-card:hover{transition:none;transform:none}}
