/* Home: open typography and direct choices into the existing recommender. */
.mg-home-new { width: min(var(--mg-layout-wide),var(--mg-layout-available)); margin: 0 auto; padding: var(--mg-layout-top) 0 var(--mg-layout-bottom); }
.mg-home-finder { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 80px; align-items: center; padding: 0 0 var(--mg-section-gap); }
.mg-home-finder-intro { min-width: 0; }
.mg-home-finder h1 { font-size: clamp(58px,6.7vw,92px); line-height: 1.02; letter-spacing: -.065em; max-width: 9ch; margin: 0 0 28px; text-wrap: balance; }
.mg-home-finder-intro > p { font-size: 18px; line-height: 1.65; color: var(--mg-ui-muted); max-width: 29ch; margin-bottom: 28px; }
.mg-design .mg-home-start { display: inline-flex; align-items: center; gap: 28px; min-height: 54px; padding: 14px 20px; background: var(--mg-ui-accent); color: #25231e; text-decoration: none; border-radius: 4px; font-size: 15px; font-weight: 800; }
.mg-design .mg-home-start:hover { background: #ffdd55; }
.mg-home-start > span { font-size: 24px; font-weight: 500; transition: transform .2s ease; }
.mg-home-start:hover > span { transform: translate(2px,-2px); }
.mg-home-use { min-width: 0; padding: 12px 0 0; }
.mg-design .mg-home-use h2 { font-size: 16px; font-weight: 600; margin: 0 0 18px; letter-spacing: 0; color: var(--mg-ui-muted); }
.mg-home-use-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px; }
.mg-design .mg-home-use-grid > a { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 8px; min-height: 116px; border-bottom: 1px solid var(--mg-ui-line); padding: 20px 26px 20px 0; color: var(--mg-ui-ink); text-decoration: none; }
.mg-home-use-grid > a::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background: var(--mg-ui-warm); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.mg-home-use-grid strong { font-size: clamp(18px,1.8vw,24px); font-weight: 750; line-height: 1.25; letter-spacing: -.045em; }
.mg-home-use-grid a > span:not(.mg-use-arrow) { font-size: 12px; color: var(--mg-ui-muted); }
.mg-home-use-grid .mg-use-arrow { position: absolute; right: 0; top: 24px; font-size: 22px; color: var(--mg-ui-muted); transition: transform .2s ease,color .2s ease; }
.mg-home-use-grid > a:is(:hover,:focus-visible)::after { transform: scaleX(1); }
.mg-home-use-grid > a:is(:hover,:focus-visible) .mg-use-arrow { transform: translate(2px,-2px); color: var(--mg-ui-link); }
.mg-home-shortcuts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px; background: var(--mg-ui-soft); padding: 25px 28px; margin: 0 0 var(--mg-section-gap); border-radius: 4px; }
.mg-design .mg-home-shortcuts > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--mg-ui-ink); text-decoration: none; }
.mg-home-shortcuts h2 { font-size: 18px; margin: 0 0 5px; letter-spacing: -.025em; }
.mg-home-shortcuts p { font-size: 13px; color: var(--mg-ui-muted); margin: 0; }
.mg-home-shortcuts > a > span { font-size: 24px; }
.mg-home-shortcuts > a:hover h2 { text-decoration: underline; text-underline-offset: 4px; }
.mg-home-section-title { margin-bottom: 24px; }
.mg-home-section-title h2 { font-size: 28px; margin: 0; }
.mg-design .mg-home-new .mg-home-post-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.mg-design .mg-home-new .mg-home-post-card { display: block; background: none; border: 0; border-radius: 0; box-shadow: none; transform: none; padding: 0; }
.mg-design .mg-home-post-link { display: block; color: var(--mg-ui-ink); text-decoration: none; }
.mg-design .mg-home-post-link:hover { text-decoration: none; }
.mg-design .mg-home-new .mg-home-post-media { display: block; aspect-ratio: 16/10; overflow: hidden; border-radius: 4px; background: var(--mg-ui-soft); }
.mg-home-new .mg-home-post-img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.mg-home-post-link:hover .mg-home-post-img { transform: scale(1.025); }
.mg-design .mg-home-new .mg-home-post-body { padding: 16px 0 0; }
.mg-design .mg-home-new .mg-home-post-title { font-size: 19px; line-height: 1.4; margin: 0 0 7px; }
.mg-home-post-link:hover .mg-home-post-title { text-decoration: underline; text-underline-offset: 4px; }
.mg-home-post-meta { font-size: 12px; line-height: 1.7; color: var(--mg-ui-muted); margin: 0; }
.mg-home-post-meta > span { display: block; }
.mg-home-post-review { display: inline-block; font-size: 12px; margin-top: 10px; }
@media (max-width: 1100px) {
  .mg-home-finder { gap: 44px; }
  .mg-home-use-grid { gap: 0 24px; }
}
@media (max-width: 800px) {
  .mg-home-finder { grid-template-columns: 1fr; gap: 38px; padding: 0 0 32px; }
  .mg-home-finder h1 { max-width: 12ch; font-size: 64px; }
  .mg-home-finder-intro > p { max-width: 40ch; margin-bottom: 22px; }
  .mg-home-shortcuts { margin-bottom: 40px; gap: 28px; padding: 22px; }
  .mg-home-shortcuts h2 { font-size: 18px; }
  .mg-home-use-grid strong { font-size: 23px; }
  .mg-design .mg-home-new .mg-home-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
}
@media (max-width: 500px) {
  .mg-home-finder { gap: 28px; }
  .mg-home-finder h1 { font-size: 55px; line-height: 1.01; max-width: 10ch; margin-bottom: 18px; }
  .mg-home-finder-intro > p { font-size: 15px; line-height: 1.65; max-width: 29ch; margin-bottom: 20px; }
  .mg-design .mg-home-start { min-height: 48px; padding: 10px 16px; gap: 22px; font-size: 14px; }
  .mg-home-use { padding: 0; }
  .mg-design .mg-home-use h2 { font-size: 14px; margin-bottom: 4px; }
  .mg-home-use-grid { gap: 0 20px; }
  .mg-design .mg-home-use-grid > a { min-height: 98px; padding: 18px 16px 18px 0; gap: 6px; }
  .mg-home-use-grid strong { font-size: 18px; letter-spacing: -.04em; }
  .mg-home-use-grid a > span:not(.mg-use-arrow) { font-size: 11px; }
  .mg-home-use-grid .mg-use-arrow { font-size: 16px; top: 18px; }
  .mg-home-shortcuts { grid-template-columns: 1fr; gap: 22px; padding: 20px; }
  .mg-home-shortcuts h2 { font-size: 17px; }
  .mg-home-shortcuts p { font-size: 12px; }
  .mg-home-section-title h2 { font-size: 25px; }
  .mg-design .mg-home-new .mg-home-post-grid { grid-template-columns: 1fr; gap: 20px; }
  .mg-design .mg-home-post-link { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 16px; align-items: center; }
  .mg-design .mg-home-new .mg-home-post-media { aspect-ratio: 4/3; }
  .mg-design .mg-home-new .mg-home-post-body { padding: 0; }
  .mg-design .mg-home-new .mg-home-post-title { font-size: 17px; }
  .mg-home-post-review { margin-left: 128px; margin-top: 4px; }
}
@media (max-width: 359px) {
  .mg-home-finder h1 { font-size: 48px; }
  .mg-home-use-grid { gap: 0 14px; }
  .mg-home-use-grid strong { font-size: 17px; }
}

/* Directory: tools grouped by purpose, no repeated hero routes or decorative counters. */
.mg-tool-directory .mg-editorial-head>a{font-size:14px}.mg-directory-section{margin:40px 0}.mg-directory-section>h2{font-size:22px;margin-bottom:24px}.mg-directory-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.mg-design .mg-directory-main>a{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--mg-ui-ink);border-top:3px solid var(--mg-ui-line);padding:24px 0 0}.mg-directory-main>a:first-child{border-color:var(--mg-ui-warm)}.mg-directory-main h3{font-size:24px;line-height:1.3;margin:0 0 14px}.mg-directory-main p{font-size:14px;color:var(--mg-ui-muted);line-height:1.8;margin-bottom:18px}.mg-directory-main>a>span{font-size:24px;margin-top:auto}.mg-directory-main>a:hover h3{text-decoration:underline;text-underline-offset:4px}.mg-directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.mg-design .mg-directory-list>a{display:flex;gap:22px;align-items:center;text-decoration:none;color:var(--mg-ui-ink);padding:24px 0;border-top:1px solid var(--mg-ui-line)}.mg-directory-list>a>span:last-child{margin-left:auto;font-size:23px}.mg-directory-icon{width:30px;color:var(--mg-ui-muted)}.mg-directory-icon svg{width:28px;height:28px}.mg-directory-list h3{font-size:19px;margin-bottom:8px}.mg-directory-list p{font-size:13px;line-height:1.7;color:var(--mg-ui-muted);margin:0;max-width:42ch}.mg-directory-list>a:hover h3{text-decoration:underline;text-underline-offset:4px}.mg-directory-glossary{display:flex;align-items:center;gap:32px;justify-content:space-between;background:var(--mg-ui-soft);padding:30px;border-radius:9px;margin-top:20px}.mg-directory-glossary h2{font-size:23px;margin-bottom:10px}.mg-directory-glossary p{font-size:14px;color:var(--mg-ui-muted);margin:0}.mg-directory-glossary .mg-button{flex-shrink:0}

@media(max-width:1050px){.mg-directory-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.mg-directory-main{gap:28px}.mg-directory-main h3{font-size:22px}.mg-directory-list{grid-template-columns:1fr}.mg-directory-glossary{display:block;padding:24px}.mg-directory-glossary .mg-button{margin-top:20px}}
@media(max-width:400px){.mg-directory-main{grid-template-columns:1fr}.mg-directory-main>a{padding-top:20px}.mg-directory-main p{margin-bottom:6px}}
