@font-face { font-family:'Giglio Script'; src:url('fonts/GreatVibes-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Giglio Sans'; src:url('fonts/Raleway.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:swap; }
.gmm {
  --gmm-bg:#141d28; --gmm-text:#f2e9d6; --gmm-heading:#d5b46b;
  --gmm-accent:#c3a15b; --gmm-button-bg:#c3a15b; --gmm-button-text:#141d28;
  --gmm-overlay:rgba(9,13,20,.72); --gmm-shade:rgba(12,18,28,.66);
  --gmm-width:880px; --gmm-padding:48px; --gmm-radius:14px;
  font-family:inherit;
}
.gmm--light { --gmm-bg:#fffdf8; --gmm-text:#4d4c46; --gmm-heading:#49483f; --gmm-accent:#a99a45; --gmm-button-bg:#a99a45; --gmm-button-text:#fff; --gmm-shade:rgba(255,253,248,.85); }
.gmm--festive { --gmm-width:940px; --gmm-radius:0px; --gmm-bg:#101824; --gmm-text:#eee6bd; --gmm-heading:#caba82; --gmm-accent:#bbaa77; --gmm-button-bg:#c6a44c; --gmm-button-text:#111820; --gmm-overlay:rgba(35,35,35,.72); }
.gmm *, .gmm *::before, .gmm *::after { box-sizing:border-box; }
.gmm .gmm-dialog {
  position:fixed; inset:0; margin:auto; padding:0; border:0;
  width:min(var(--gmm-width), calc(100vw - 32px)); max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain;
  border-radius:var(--gmm-radius); color:var(--gmm-text); background:var(--gmm-bg);
  box-shadow:0 24px 100px rgba(0,0,0,.38); font-family:inherit;
}
.gmm .gmm-dialog:not([open]) { display:none; }
.gmm-dialog::backdrop { background:var(--gmm-overlay, rgba(9,13,20,.72)); backdrop-filter:blur(3px); }
.gmm .gmm-dialog[open] { animation:gmm-arrive .2s ease-out; }
.gmm .gmm-surface { position:relative; isolation:isolate; background-color:var(--gmm-bg); background-size:cover; background-position:center; min-height:120px; }
.gmm .gmm-framed::after { content:""; position:absolute; inset:12px; border:1px solid var(--gmm-accent); border-radius:max(0px, calc(var(--gmm-radius) - 6px)); pointer-events:none; z-index:2; opacity:.8; }
.gmm .gmm-close {
  position:absolute; top:16px; right:16px; z-index:4; display:grid; place-items:center;
  width:36px; height:36px; min-height:36px; padding:0; border:1px solid var(--gmm-accent);
  border-radius:50%; background:var(--gmm-bg); color:var(--gmm-text);
  font:26px/1 Arial,sans-serif; cursor:pointer; text-decoration:none;
}
.gmm .gmm-close:hover { color:var(--gmm-accent); }
.gmm .gmm-layout-banner { display:flex; align-items:stretch; }
.gmm .gmm-copy { flex:1 1 56%; min-width:0; padding:calc(var(--gmm-padding) + 8px) var(--gmm-padding); text-align:center; align-self:center; }
.gmm .gmm-hero { flex:1 1 44%; min-width:0; display:flex; }
.gmm .gmm-hero img { display:block; width:100%; height:100%; min-height:380px; object-fit:cover; }
.gmm .gmm-image-left .gmm-hero { order:-1; }
.gmm .gmm-eyebrow { margin:0 0 20px; color:var(--gmm-accent); font:600 11px/1.5 Arial,sans-serif; letter-spacing:.2em; }
.gmm .gmm-title { margin:0 0 20px; color:var(--gmm-heading); font:italic 400 clamp(28px, 3vw, 42px)/1.15 Georgia,serif; overflow-wrap:anywhere; }
.gmm .gmm-description { margin:0 0 24px; color:var(--gmm-text); font-size:16px; line-height:1.65; white-space:normal; overflow-wrap:anywhere; }
.gmm .gmm-actions { display:flex; flex-direction:column; align-items:center; gap:14px; }
.gmm .gmm-button {
  display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:44px;
  padding:13px 24px; border:1px solid transparent; border-radius:4px;
  background:var(--gmm-button-bg); color:var(--gmm-button-text); text-decoration:none;
  font:600 12px/1.4 Arial,sans-serif; letter-spacing:.06em; text-align:center;
  white-space:normal; overflow-wrap:anywhere; cursor:pointer; transition:filter .15s ease;
}
.gmm .gmm-button:hover { filter:brightness(1.1); }
.gmm .gmm-secondary { color:var(--gmm-text); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.gmm .gmm-note { margin:22px 0 0; color:var(--gmm-text); opacity:.8; font-size:12px; line-height:1.6; }
.gmm :is(button,a):focus-visible { outline:3px solid var(--gmm-accent); outline-offset:4px; }
.gmm .gmm-poster { display:block; width:100%; height:auto; }
.gmm .gmm-poster-link { display:block; }
.gmm .gmm-layout-poster { padding:0; }
.gmm .gmm-layout-cards { padding:calc(var(--gmm-padding) + 8px) var(--gmm-padding) var(--gmm-padding); }
.gmm .gmm-header, .gmm .gmm-footer { text-align:center; }
.gmm .gmm-cards { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; margin:28px 0; }
.gmm .gmm-card { flex:0 1 260px; min-width:0; overflow:hidden; border:1px solid var(--gmm-accent); border-radius:16px; background:var(--gmm-bg); color:var(--gmm-text); }
.gmm .gmm-card > img { display:block; width:100%; aspect-ratio:13/9; object-fit:cover; }
.gmm .gmm-card-body { padding:20px; }
.gmm .gmm-card h3 { margin:0 0 12px; color:var(--gmm-heading); font:600 21px/1.3 Georgia,serif; overflow-wrap:anywhere; }
.gmm .gmm-card p { margin:0 0 16px; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.gmm .gmm-card .gmm-button { width:100%; }
.gmm .gmm-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.gmm .gmm-editor-label { margin:16px 0 8px; font:12px/1.5 Arial,sans-serif; color:#666; }
.gmm--editor .gmm-dialog:not([open]) { display:block; position:relative; inset:auto; width:100%; max-width:var(--gmm-width); max-height:none; box-shadow:0 6px 24px #0002; }
.gmm--editor .gmm-dialog:not([open]) .gmm-close { pointer-events:none; }
/* One continuous artwork, with editable HTML copy over its clear central area. */
.gmm--festive .gmm-dialog { container-type:inline-size; box-shadow:0 5px 14px #0007; }
.gmm .gmm-layout-festive { min-height:53.8cqw; display:flex; align-items:center; border:8px solid var(--gmm-bg); }
.gmm .gmm-festive-art { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.gmm .gmm-festive-art img { display:block; width:100%; height:100%; object-fit:fill; }
.gmm .gmm-layout-festive.gmm-framed::after { inset:5px; border-width:2px; border-radius:0; }
.gmm .gmm-layout-festive .gmm-copy { position:relative; z-index:1; flex:none; width:58%; margin:0 auto; padding:var(--gmm-padding, 5.3cqw) 0 var(--gmm-padding, 6.2cqw); text-align:center; }
.gmm--festive { --gmm-padding:5.3cqw; }
.gmm .gmm-layout-festive .gmm-title { margin:0 0 2.4cqw; font-family:'Giglio Script',cursive; font-style:normal; font-size:6.7cqw; font-weight:400; line-height:1.02; color:var(--gmm-heading); text-shadow:0 1px 1px #000a; }
.gmm .gmm-layout-festive .gmm-description { margin:0 0 4.6cqw; font-family:'Giglio Sans',Arial,sans-serif; font-size:2.9cqw; font-weight:500; line-height:1.22; color:var(--gmm-text); text-shadow:0 1px 2px #000; }
.gmm .gmm-layout-festive .gmm-description strong { font-weight:700; color:var(--gmm-heading); }
.gmm .gmm-layout-festive .gmm-button { min-height:6.4cqw; min-width:32.6cqw; border:1px solid #d8bd72; border-radius:0; padding:1.1cqw 3.2cqw; font-family:'Giglio Sans',Arial,sans-serif; font-weight:800; font-size:3cqw; line-height:1.2; letter-spacing:0; background-color:var(--gmm-button-bg); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888' filter='url(%23n)' opacity='.45' d='M0 0h180v90H0z'/%3E%3C/svg%3E"),linear-gradient(115deg,#fff2,transparent 24%,#fff4 48%,transparent 76%,#0001); background-blend-mode:soft-light,normal; color:var(--gmm-button-text); box-shadow:0 1px 2px #0008; }
.gmm .gmm-layout-festive .gmm-close { top:-3px; right:-3px; width:32px; height:32px; min-height:32px; border:0; border-radius:0; color:var(--gmm-accent); font-size:32px; font-weight:200; background:var(--gmm-bg); }
.gmm .gmm-layout-festive .gmm-close:focus-visible { outline-offset:-3px; }
.gmm .gmm-layout-festive .gmm-secondary { font-family:'Giglio Sans',Arial,sans-serif; }
@keyframes gmm-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:600px) {
  .gmm { --gmm-padding:28px; }
  .gmm .gmm-dialog { width:calc(100vw - 24px); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .gmm .gmm-layout-banner { flex-direction:column; }
  .gmm .gmm-copy { width:100%; padding-top:60px; }
  .gmm .gmm-hero, .gmm .gmm-image-left .gmm-hero { order:0; flex:auto; }
  .gmm .gmm-hero img { height:210px; min-height:0; }
  .gmm .gmm-card { flex-basis:100%; }
  .gmm .gmm-layout-cards { padding-top:64px; }
  .gmm--festive { --gmm-padding:52px; }
  .gmm .gmm-layout-festive { min-height:460px; }
  .gmm .gmm-layout-festive .gmm-copy { width:88%; padding:var(--gmm-padding) 6px; }
  .gmm .gmm-layout-festive .gmm-title { font-size:clamp(30px,10.7cqw,42px); line-height:1.08; margin-bottom:26px; }
  .gmm .gmm-layout-festive .gmm-description { font-size:17px; line-height:1.5; margin-bottom:28px; }
  .gmm .gmm-layout-festive .gmm-description br { display:none; }
  .gmm .gmm-layout-festive .gmm-button { font-size:18px; min-height:48px; padding:12px 20px; }
  .gmm .gmm-festive-art { opacity:.38; }
  .gmm .gmm-festive-art img { object-fit:cover; }
}
@media (prefers-reduced-motion:reduce) { .gmm .gmm-dialog[open] { animation:none; } .gmm .gmm-button { transition:none; } }
