.full-menu{padding:95px 6% 85px;background:#0046FF;color:white;font-family:'Manrope',Arial,sans-serif;isolation:isolate}.m-heading{text-align:center;margin:0 auto 48px}.m-eyebrow{font-size:8px;letter-spacing:.16em;font-weight:800;color:#bbdfff}.m-heading h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(65px,8vw,115px);line-height:1;margin:13px 0 20px;font-style:italic;font-weight:800;letter-spacing:-.025em}.m-heading p{font-size:13px;color:#d2e9ff;line-height:1.8;margin:0}.m-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;max-width:1400px;margin:auto}.m-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m-filter{font-family:inherit;font-size:11px;border:1px solid #ffffff4d;border-radius:30px;color:white;background:transparent;padding:11px 17px;white-space:nowrap;cursor:pointer;font-weight:700;transition:background .2s,color .2s}.m-filter span{display:inline-grid;place-items:center;min-width:20px;height:18px;margin-left:7px;border-radius:20px;background:#ffffff20;font-size:9px}.m-filter.active{background:white;color:#0864d4;border-color:white}.m-filter.active span{background:#e4f1ff}.m-filter:hover{background:#ffffff20}.m-filter.active:hover{background:white}.m-search{border-bottom:1px solid #ffffff80;display:flex;align-items:center;gap:8px;padding:8px 0;width:215px;flex-shrink:0}.m-search>span{font-size:25px;line-height:1}.m-search input{font-family:inherit;color:white;background:transparent;border:0;width:180px;font-size:11px;outline-offset:5px}.m-search input::placeholder{color:#c9e4ff}.m-search input::-webkit-search-cancel-button{filter:brightness(0) invert(1)}.m-meta{max-width:1400px;margin:23px auto;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#cce6ff}.m-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.m-card{border-radius:15px;overflow:hidden;background:#fffdf8;color:#0b509a;box-shadow:0 9px 25px #00449c18;transition:transform .25s,box-shadow .25s;min-width:0}.m-card[hidden]{display:none}.m-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #003a9a40}.m-photo{position:relative;border:0;padding:0;display:block;cursor:pointer;width:100%;aspect-ratio:1;background:#eaf3fa;overflow:hidden}.m-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.m-photo:hover img,.m-photo:focus-visible img{transform:scale(1.055)}.m-zoom{position:absolute;right:13px;bottom:13px;background:#fffdf8eb;color:#0766da;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:21px;transition:transform .2s}.m-photo:hover .m-zoom{transform:rotate(5deg)}.m-info{padding:20px}.m-category{font-size:7px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#6087ac;display:block;margin-bottom:9px}.m-info h3{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;font-size:29px;line-height:1.03;margin:0;min-height:58px;letter-spacing:-.015em}.m-price-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;font-size:15px;font-weight:800}.m-price-row a{font-size:9px;border:1px solid #bfd9f3;border-radius:30px;padding:8px 12px;display:flex;align-items:center;gap:13px;font-weight:700;color:#0768df;transition:background .2s,color .2s}.m-price-row a>span{font-size:17px;line-height:1}.m-price-row a:hover{background:#0046FF;color:white;border-color:#0046FF}.m-price-note{max-width:620px;text-align:center;margin:35px auto 24px;font-size:9px;line-height:1.9;color:#c3e2ff}.m-order-all{font-size:12px;font-weight:800;padding:17px 25px;border-radius:35px;background:white;color:#0863d3;display:flex;justify-content:center;align-items:center;gap:35px;width:max-content;max-width:100%;margin:auto}.m-order-all span{font-size:21px}.m-empty{text-align:center;padding:65px 20px}.m-empty h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:45px;font-style:italic;margin:0 0 15px}.m-empty p{font-size:12px;color:#cee8ff;line-height:1.8}.m-empty button{font-family:inherit;border:0;border-radius:30px;background:white;color:#0764d5;padding:15px 24px;margin-top:15px;font-size:12px;font-weight:800;cursor:pointer}.m-dialog{border:0;border-radius:20px;padding:0;width:min(860px,92vw);max-height:90svh;background:#fffdf8;color:#0b509a;overflow:auto;font-family:'Manrope',Arial,sans-serif}.m-dialog[open]{display:grid;grid-template-columns:1fr 1fr}.m-dialog::backdrop{background:#001d577d;backdrop-filter:blur(8px)}.m-dialog>img{display:block;width:100%;height:100%;min-height:440px;object-fit:cover}.m-close{position:absolute;right:13px;top:13px;z-index:2;display:grid;place-items:center;border:0;background:white;border-radius:50%;width:36px;height:36px;font-size:25px;color:#075cbd;cursor:pointer}.m-preview-copy{padding:50px 35px 35px;align-self:center}.m-preview-copy .m-eyebrow{color:#6d8da9}.m-preview-copy h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:49px;line-height:1;letter-spacing:-.02em;margin:14px 0 24px;font-weight:700}.m-preview-copy>p:first-of-type{font-size:24px;font-weight:800;color:#0046FF;margin:0 0 20px}.m-preview-note{font-size:10px;line-height:1.9;color:#637f99;margin-bottom:25px}.m-preview-copy>a{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 24px;background:#0046FF;color:white;font-size:11px;font-weight:700;border-radius:35px}.m-preview-copy>a>span{font-size:20px}.menu-dialog-open{overflow:hidden}.m-card.m-in{animation:menu-card-in .55s var(--card-delay) cubic-bezier(.16,1,.3,1) both}@keyframes menu-card-in{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}.full-menu a:focus-visible,.full-menu button:focus-visible,.m-dialog button:focus-visible,.m-dialog a:focus-visible{outline:3px solid #a5d8ff;outline-offset:4px}.m-photo:focus-visible{outline-offset:-5px!important}
@media(max-width:1150px){.m-toolbar{flex-wrap:wrap;gap:15px}.m-filters{flex:1}.m-search{width:185px}.m-search input{width:150px}.m-filter{font-size:10px;padding:10px 13px}.m-grid{gap:20px}.m-info{padding:16px}.m-info h3{font-size:25px;min-height:52px}.m-price-row{font-size:13px}.m-price-row a{font-size:8px;gap:7px;padding:7px 10px}}
@media(max-width:850px){.full-menu{padding:75px 5%}.m-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.m-search{margin-left:auto;width:100%}.m-search input{width:100%;font-size:12px}.m-filters{width:100%;flex:auto}.m-heading{margin-bottom:35px}.m-info h3{font-size:25px;min-height:52px}}
@media(max-width:550px){.full-menu{padding:60px 5% 65px}.m-heading h2{font-size:76px;margin:10px 0 18px}.m-eyebrow{font-size:6px;letter-spacing:.12em}.m-heading p{font-size:11px}.m-toolbar{padding:17px 0;gap:13px}.m-filters{flex-wrap:nowrap;overflow:auto;scrollbar-width:none;padding-bottom:3px}.m-filters::-webkit-scrollbar{display:none}.m-filter{font-size:10px;padding:10px 13px}.m-meta{font-size:8px;margin:19px auto;gap:10px}.m-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 13px}.m-info{padding:14px 12px}.m-info h3{font-size:25px;min-height:52px}.m-category{font-size:6px;letter-spacing:.12em}.m-zoom{width:28px;height:28px;right:9px;bottom:9px;font-size:18px}.m-price-row{font-size:13px;margin-top:12px;gap:5px}.m-price-row a{padding:6px 9px;font-size:8px;gap:7px}.m-price-note{font-size:8px;margin-top:28px}.m-order-all{font-size:10px;gap:22px;padding:16px 22px}.m-dialog[open]{grid-template-columns:1fr;width:90vw}.m-dialog>img{min-height:0;height:auto;aspect-ratio:1.12;object-fit:cover}.m-preview-copy{padding:26px}.m-preview-copy h2{font-size:42px;margin:12px 0 18px}.m-preview-copy>a{display:flex;font-size:11px}.m-close{width:32px;height:32px;font-size:23px}.welcome-header nav{gap:14px;font-size:8px;left:60%}}
@media(prefers-reduced-motion:reduce){.m-card,.m-photo img,.m-zoom{transition:none}.m-card.m-in{animation:none}.m-card:hover{transform:none}}
/* Keep each complete product visible against its clean studio background. */
.m-photo{background:#fff}.m-photo img{object-fit:contain}.m-dialog>img{object-fit:contain;background:#fff}
.m-card {
  display: flex;
  flex-direction: column;
}
.m-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.m-card .m-price-row {
  margin-top: auto;
  padding-top: 14px;
}
.m-photo {
  flex: none;
}
.m-photo img.m-framed-image,
.m-shoot-frame img.m-framed-image {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--frame-width);
  max-width: none;
  height: auto;
  transform: translate(var(--frame-x), var(--frame-y));
}
.m-photo:has(.m-cutout-image),
.m-shoot-frame:has(.m-cutout-image) {
  display: grid;
  place-items: center;
  background: #f2f8ff;
}
.m-photo img.m-cutout-image,
.m-shoot-frame img.m-cutout-image {
  display: block;
  width: 84%;
  height: 78%;
  object-fit: contain;
}
.m-dialog #menu-preview-image[src^="assets/menu-cutouts/"] {
  align-self: center;
  padding: 16px;
  box-sizing: border-box;
  height: auto;
  min-height: 0;
  max-height: 68svh;
  aspect-ratio: auto;
  object-fit: contain;
}
.m-photo-label {
  display: grid;
  align-content: center;
  gap: 6px;
  height: 100%;
  padding: 14%;
  background: #eaf3fa;
  color: #114c90;
  text-align: left;
}
.m-photo-label span {
  font-size: 12px;
  font-weight: 800;
}
.m-photo-label strong {
  font-size: clamp(18px, 2.4vw, 32px);
  line-height: 1.12;
}
.m-dialog #menu-preview-image[hidden] {
  display: none;
}
.m-dialog.m-dialog-no-photo[open] {
  grid-template-columns: 1fr;
  width: min(460px, 92vw);
}
.m-dialog #menu-preview-image[src^="assets/photoshoot/"] {
  aspect-ratio: auto;
  height: auto;
  min-height: 0;
  max-height: 75svh;
  object-fit: contain;
}
.m-shoot-gallery {
  margin-top: 36px;
  padding-top: 18px;
  border-top: 1px solid #ffffff66;
}
.m-shoot-gallery h2 {
  margin: 0;
  font-size: clamp(20px, 3vw, 27px);
}
.m-shoot-photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 240px));
  gap: 16px;
  margin-top: 16px;
}
.m-shoot-photos figure {
  margin: 0;
}
.m-shoot-frame {
  position: relative;
  display: block;
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
}
.m-shoot-photos figcaption {
  margin-top: 6px;
  font-size: 13px;
}
.menu-page .m-heading {
  margin-bottom: clamp(16px, 2.4vw, 32px);
}
.full-menu.menu-page {
  padding-top: clamp(28px, 4vw, 54px);
}
