
.gm-hero .pt-head{grid-template-columns:1.4fr 1fr}
.gm-note{font-size:13px;color:var(--ink-faint,#6b7a90);line-height:1.5;margin:12px 0 0}
.gm-host{display:block;position:relative;min-height:320px;margin:0 -8px}
.gm-host.is-ready .gm-fallback{display:none}
.gm-host.is-failed{min-height:0}
.gm-fallback{margin:0 8px}
.gm-text p{max-width:72ch;line-height:1.65;margin:0 0 14px}
.gm-block{margin:44px 0 0}
.gm-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.gm-head h2{margin:0;font-size:22px}
.gm-eyebrow{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#15589f);font-weight:600;width:100%}
.gm-all{margin-left:auto;font-size:13.5px;text-decoration:none;color:var(--accent,#15589f)}
.gm-cards,.gm-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.gm-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.gm-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:18px;text-decoration:none;color:inherit;
  background:var(--srf-hi,rgba(255,255,255,.7));border:1px solid rgba(var(--line-c,7,26,51),.08);box-shadow:var(--lift-1,0 10px 30px rgba(7,26,51,.08));
  transition:transform .2s ease,box-shadow .2s ease}
.gm-card:hover{transform:translateY(-2px);box-shadow:var(--lift-2,0 24px 60px rgba(7,26,51,.16))}
.gm-card b{font-family:var(--font-display,Prata,Georgia,serif);font-weight:400;font-size:21px;line-height:1.2}
.gm-card--big b{font-size:24px}
.gm-stage{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint,#6b7a90);font-weight:600;display:flex;gap:8px;align-items:center}
.gm-stage .no{font-family:var(--font-display,Prata,Georgia,serif);font-size:16px;color:var(--accent,#15589f);letter-spacing:0}
.gm-lead{font-size:13.5px;line-height:1.5;color:var(--ink-soft,#334b6b)}
.gm-src{font-size:12px;color:var(--ink-faint,#6b7a90)}
.gm-go{margin-top:auto;padding-top:6px;font-size:13.5px;font-weight:600;color:var(--accent,#15589f)}
.gm-cta .btn{margin-right:8px;margin-bottom:8px}
.gm-inline{display:inline}

.gm-pic{display:block;position:relative;margin:-16px -18px 10px;aspect-ratio:16/9;overflow:hidden;background:var(--srf-lo,#e6e9ee)}
.gm-pic img{display:block;width:100%;height:100%;object-fit:cover}
.gm-pic i,.gm-cover figcaption{position:absolute;right:10px;bottom:6px;font-style:normal;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;opacity:.85;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.gm-cover{margin:0;position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--lift-1,0 10px 30px rgba(7,26,51,.08));background:var(--srf-lo,#e6e9ee)}
.gm-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.gm-cover figcaption{right:12px;bottom:8px;font-size:11px}
.gm-hero .pt-head{align-items:center}
.gm-hero.gm-no-cover .pt-head{grid-template-columns:1fr}
.gm-facts{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.gm-hero .pt-head{grid-template-columns:1fr}.gm-host{margin:0 -12px}.gm-head h2{font-size:19px}.gm-facts{grid-template-columns:1fr 1fr}}

html.gm-locked{overflow:hidden}
.gm-modal{position:fixed; inset:0; z-index:1000; display:grid; place-items:center}
.gm-modal-bg{position:absolute; inset:0; background:var(--backdrop,rgba(25,47,64,.42)); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px)}
.gm-window{position:relative; display:flex; flex-direction:column; width:clamp(min(960px,96vw),80vw,1680px); height:clamp(min(600px,94vh),80vh,1060px);
  background:var(--amb-0,#f6f5f1); border-radius:22px; overflow:hidden; box-shadow:0 50px 90px -30px rgba(12,24,36,.55),0 0 0 1px rgba(255,255,255,.5)}
@supports (height:1dvh){.gm-window{height:clamp(min(600px,94dvh),80dvh,1060px)}}
.gm-window-bar{flex:0 0 auto; display:flex; align-items:center; gap:12px; height:42px; padding:0 6px 0 18px; box-sizing:border-box;
  background:var(--srf-hi,#fff); border-bottom:1px solid rgba(var(--line-c,25,47,64),.08); font-size:13px; line-height:1.2}
.gm-window-title{font-weight:700; color:var(--ink,#192f40); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gm-window-meta{color:var(--ink-faint,#415463); white-space:nowrap}
.gm-window-page{margin-left:auto; color:var(--accent,#846645); text-decoration:none; font-weight:700; white-space:nowrap}
.gm-window-page:hover{text-decoration:underline}
.gm-window-close{flex:0 0 auto; width:34px; height:34px; border-radius:50%; border:0; padding:0; background:rgba(var(--line-c,25,47,64),.07);
  color:var(--ink,#192f40); display:grid; place-items:center; cursor:pointer}
.gm-window-close:hover{background:rgba(var(--line-c,25,47,64),.14)}
.gm-window-body{flex:1 1 auto; min-height:0; position:relative}
.gm-window-body .gm-host,.gm-frame .gm-host{position:absolute; inset:0; margin:0; min-height:0}
.gm-window-body .gm-fallback,.gm-frame .gm-fallback{margin:18px}
@media (max-width:760px),(max-height:520px){
  .gm-window{width:100vw; height:100vh; border-radius:0}
  @supports (height:1dvh){.gm-window{height:100dvh}}
  .gm-window-meta{display:none}
}

.gm-frame{position:relative; height:clamp(560px,calc(100vh - 250px),960px); border-radius:22px; overflow:hidden;
  background:var(--amb-0,#f6f5f1); border:1px solid rgba(var(--line-c,25,47,64),.08); box-shadow:var(--lift-1,0 10px 30px rgba(7,26,51,.08))}
@supports (height:1svh){.gm-frame{height:clamp(560px,calc(100svh - 250px),960px)}}
@media (max-width:899.98px),(max-height:559.98px){
  .gm-frame{height:auto; overflow:visible; border:0; border-radius:0; box-shadow:none; background:none}
  .gm-frame .gm-host{position:relative; inset:auto; min-height:320px; margin:0 -8px}
}

.gm-page .rg-crumbs{margin-bottom:8px}
.gm-top{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; margin:0 0 14px}
.gm-top .eyebrow{margin:0 0 4px}
.gm-top h1{font-family:var(--font-display,Prata,Georgia,serif); font-weight:400; font-size:clamp(22px,2.1vw,30px); line-height:1.15; margin:0}
.gm-top-lead{margin:6px 0 0; max-width:96ch; font-size:14.5px; line-height:1.5; color:var(--ink-soft,#2f4355)}
.gm-top-cover{margin:0; position:relative; width:200px; border-radius:14px; overflow:hidden; background:var(--srf-lo,#e6e9ee); box-shadow:var(--lift-1,0 10px 30px rgba(7,26,51,.08))}
.gm-top-cover img{display:block; width:100%; aspect-ratio:16/9; object-fit:cover}
.gm-top-cover figcaption{position:absolute; right:8px; bottom:4px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#fff; opacity:.85; text-shadow:0 1px 6px rgba(0,0,0,.55)}
.gm-page .gm-note{margin:8px 2px 0; font-size:12.5px}
.gm-info{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; margin-top:34px; align-items:start}
.gm-info h2{margin:0 0 12px; font-size:22px}
.gm-info .gm-text p{font-size:14.5px; line-height:1.6; margin:0 0 10px}
.gm-info .gm-src{display:block; margin-top:4px}
.gm-info .pt-faq summary{padding:12px 16px; font-size:14.5px}
.gm-info .pt-faq{margin-bottom:8px}
.gm-others{margin-top:34px}
.gm-others h2{margin:0 0 12px; font-size:22px}
.gm-minis{display:grid; gap:10px; grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.gm-mini{display:flex; flex-direction:column; gap:3px; padding:0 0 12px; border-radius:16px; overflow:hidden; text-decoration:none; color:inherit;
  background:var(--srf-hi,#fff); border:1px solid rgba(var(--line-c,25,47,64),.08); box-shadow:var(--lift-1,0 10px 30px rgba(7,26,51,.08)); transition:transform .2s ease,box-shadow .2s ease}
.gm-mini:hover{transform:translateY(-2px); box-shadow:var(--lift-2,0 24px 60px rgba(7,26,51,.16))}
.gm-mini .gm-pic{margin:0 0 6px}
.gm-mini .gm-stage,.gm-mini b{padding:0 12px}
.gm-mini b{font-family:var(--font-display,Prata,Georgia,serif); font-weight:400; font-size:17px; line-height:1.2}
@media (max-width:760px){
  .gm-top{grid-template-columns:1fr}
  .gm-top-cover{display:none}
  .gm-info{grid-template-columns:1fr; gap:20px}
}

@media (min-width:900px) and (min-height:560px) and (max-height:820px){
  .gm-page .rg-crumbs{margin-bottom:2px}
  .gm-top{margin-bottom:6px}
  .gm-top h1{font-size:22px}
  .gm-top .eyebrow,.gm-top-lead,.gm-top-cover{display:none}
}
.gm-cta-line{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
