
:root{
  --ink:#221C26; --ink-2:#3A3240; --body:#4A4250; --muted:#5F5763;
  --bg:#F7F2EC; --band:#EFE7DE; --card:#FFFDFA; --line:#E4DBD1; --line-2:#DCD1C5;
  --accent:#6B3A66; --accent-dark:#4E2649; --sage:#4F6B55;
  --serif:'Newsreader',Georgia,serif; --sans:'Figtree',system-ui,-apple-system,sans-serif;
  --pad:80px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dark)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--sage);margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;color:var(--ink)}
h2{font-size:44px;line-height:1.08;letter-spacing:-.6px}
.lead{font-size:17px;line-height:1.65;color:var(--body);margin:0}
.more{font-size:15px;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 28px;border-radius:27px;border:0;background:var(--accent);color:#fff;font:600 16px var(--sans);cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--accent-dark);color:#fff}

/* Header */
.mgg-header{border-bottom:1px solid var(--line)}
.mgg-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;padding-bottom:22px}
.mgg-logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:-.3px}
.mgg-logo:hover{color:var(--ink)}
.mgg-nav{display:flex;gap:36px;font-size:16px;font-weight:500}
.mgg-nav a{color:var(--ink-2)}
.mgg-nav a:hover,.mgg-nav a[aria-current]{color:var(--accent)}
/* Many menu items: links get their own row under the logo */
.mgg-header--rows > .wrap{padding-top:18px;padding-bottom:18px}
.mgg-navbar{border-top:1px solid var(--line)}
.mgg-header .mgg-navbar .wrap{display:block;padding-top:0;padding-bottom:0}
.mgg-navbar .mgg-nav{justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 34px;min-height:54px;font-size:15.5px}
.mgg-navbar .mgg-nav a{padding:6px 0;border-bottom:2px solid transparent}
.mgg-navbar .mgg-nav a[aria-current]{border-bottom-color:var(--accent)}
.header-cta{height:44px;padding:0 22px;font-size:15px}
.header-actions{display:flex;align-items:center;gap:10px}
.mgg-menu-toggle{display:none;width:44px;height:44px;border-radius:22px;border:1px solid var(--line-2);background:transparent;color:var(--ink);align-items:center;justify-content:center;cursor:pointer;padding:0}
.mgg-menu-toggle .i-close{display:none}
.mgg-menu-toggle[aria-expanded="true"] .i-open{display:none}
.mgg-menu-toggle[aria-expanded="true"] .i-close{display:block}
.mgg-mobile-menu{border-top:1px solid var(--line);padding:8px var(--pad) 16px;background:var(--bg)}
.mgg-mobile-menu[hidden]{display:none}
.mgg-mobile-menu a{display:flex;align-items:center;min-height:52px;border-bottom:1px solid var(--line);color:var(--ink);font-size:18px;font-weight:500}
.mgg-mobile-menu a:last-child{border-bottom:0}

/* Hero */
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-top:84px;padding-bottom:88px}
.tagline{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--accent);margin:0 0 20px}
.hero h1{font-size:62px;line-height:1.04;letter-spacing:-1.2px;margin-bottom:22px}
.hero .sub{font-size:19px;line-height:1.6;color:var(--body);max-width:540px;margin:0 0 28px}
.optin label{display:block;font-size:14px;font-weight:600;color:var(--ink-2);margin-bottom:10px}
.optin .row{display:flex;gap:10px}
.optin input{flex:1;min-width:0;height:54px;padding:0 20px;border-radius:27px;border:1px solid #CFC3B6;background:#fff;font:16px var(--sans);color:var(--ink)}
.optin .note{font-size:13px;color:var(--muted);margin:10px 0 0}
.hero-art{position:relative;height:520px}
.hero-art .sheet{position:absolute;width:360px;height:460px;border-radius:18px}
.hero-art .s1{left:70px;top:40px;background:#E9DFD3;transform:rotate(-6deg)}
.hero-art .s2{left:150px;top:20px;background:#DCE5DB;transform:rotate(4deg)}
.card-prompt{position:absolute;left:110px;top:30px;width:360px;height:470px;padding:34px 32px;background:var(--card);border-radius:18px;box-shadow:0 24px 50px rgba(60,40,60,.14);display:flex;flex-direction:column;gap:18px}
.card-prompt .meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.card-prompt .meta b{font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent)}
.card-prompt .q{font-family:var(--serif);font-size:30px;line-height:1.15;font-weight:500}
.card-prompt .lines{display:flex;flex-direction:column;gap:22px;margin-top:10px}
.card-prompt .lines span{height:1px;background:var(--line)}
.card-prompt .foot{margin-top:auto;font:italic 13px var(--serif);color:var(--muted)}

/* Find help */
.help .wrap{padding-top:8px;padding-bottom:96px}
.help .lead{margin-top:10px}
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.help-card{display:flex;flex-direction:column;gap:10px;padding:26px 28px;border-radius:18px;background:var(--card);border:1px solid var(--line);color:var(--ink)}
.help-card:hover{border-color:var(--accent);color:var(--ink)}
.help-card small{font-size:12px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--sage)}
.help-card span{display:flex;justify-content:space-between;gap:12px;font-family:var(--serif);font-size:24px;font-weight:500}
.help-card span::after{content:"→";font-family:var(--sans);font-size:20px;color:var(--accent)}

/* Pillars */
.pillar .wrap{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start;padding-top:96px;padding-bottom:96px}
.pillar.band{background:var(--band)}
.pillar-intro{display:flex;flex-direction:column;gap:18px}
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.hub{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-radius:16px;background:var(--card);color:var(--ink)}
.pillar:not(.band) .hub{border:1px solid var(--line)}
.hub:hover{color:var(--ink);box-shadow:0 0 0 2px var(--accent)}
.hub strong{font-family:var(--serif);font-size:22px;font-weight:500}
.hub span{font-size:14px;line-height:1.5;color:#5A5160}

/* Tools */
.tools .wrap{padding-bottom:96px}
.tools .inner{padding-top:72px;border-top:1px solid var(--line)}
.tools h2{font-size:36px}
.tools .lead{margin-top:10px}
.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
.tool{display:flex;flex-direction:column;gap:12px;padding:26px 24px;border-radius:16px;background:var(--card);border:1px solid var(--line);color:var(--ink)}
.tool:hover{border-color:var(--accent);color:var(--ink)}
.tool strong{font-family:var(--serif);font-size:22px;font-weight:500}
.tool span{font-size:14px;line-height:1.55;color:#5A5160}

/* Most-read */
.popular{background:var(--band)}
.popular .wrap{padding-top:96px;padding-bottom:96px}
.popular .head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.post-card{display:flex;flex-direction:column;gap:14px;color:var(--ink)}
.post-card:hover{color:var(--ink)}
.post-card:hover h3{color:var(--accent)}
.post-card .thumb{height:250px;border-radius:18px;display:flex;align-items:flex-end;padding:24px;overflow:hidden;position:relative}
.post-card .thumb span{font-family:var(--serif);font-style:italic;font-size:34px;line-height:1;color:#fff;position:relative}
.post-card .thumb::before{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.14)}
.post-card .thumb.t1{background:#6B3A66}
.post-card .thumb.t2{background:#4F6B55}
.post-card .thumb.t3{background:#9A5B45}
.post-card small{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--sage)}
.post-card h3{font-size:25px;line-height:1.2}
.post-card .by{font-size:14px;color:var(--muted)}

/* Standards */
.standards .wrap{padding-top:96px;padding-bottom:96px}
.standards h2{margin-top:12px}
.std-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:40px 0}
.std{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:2px solid var(--accent)}
.std h3{font-family:var(--sans);font-size:18px;font-weight:600}
.std p{margin:0;font-size:15px;line-height:1.6;color:var(--body)}

/* Free guide */
.guide{display:grid;grid-template-columns:4fr 8fr;gap:56px;align-items:center;padding:56px 64px;border-radius:28px;background:var(--accent);color:#fff}
.guide .cover{display:flex;align-items:center;justify-content:center;padding:12px 0}
.book{width:100%;max-width:280px;aspect-ratio:3/4;background:#F7F2EC;border-radius:6px 14px 14px 6px;box-shadow:inset 10px 0 0 #E4DBD1,0 22px 44px rgba(20,8,20,.35);transform:rotate(-3deg);padding:28px 24px 24px 34px;display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.book-kicker{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent)}
.book-title{font-family:var(--serif);font-size:34px;line-height:1.02;font-weight:500}
.book-sub{font-size:13px;line-height:1.45;color:var(--body)}
.book-leaf{margin-top:auto}
.book-brand{font-family:var(--serif);font-size:15px;color:var(--muted)}
.guide-kicker{font-size:13px!important;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#F3E6F1;margin:0 0 12px!important}
.guide h2{color:#fff;font-size:42px;margin-bottom:18px}
.guide p{margin:0 0 18px;font-size:17px;line-height:1.6;color:#F3E6F1}
.guide ul{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:10px;font-size:16px}
.guide li::before{content:"✓";margin-right:10px;font-weight:700}
.guide label{color:#fff}
.guide input{border:0}
.guide .btn{background:var(--ink)}
.guide .btn:hover{background:#000}

/* Author */
.author-feature{display:grid;grid-template-columns:4fr 8fr;gap:56px;align-items:center;margin-top:96px;padding:56px 64px;border-radius:28px;background:var(--band)}
.author-feature img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;border-radius:20px}
.author-feature h2{font-size:42px;margin:18px 0}
.author-feature .lead+.lead{margin-top:14px}
.author-feature .more{display:inline-block;margin-top:18px}

/* Care note */
.care{display:flex;gap:18px;align-items:flex-start;margin-top:56px;padding:28px 32px;border-radius:18px;border:1px solid var(--line-2);background:var(--card)}
.care svg{flex-shrink:0;margin-top:2px}
.care p{margin:0;font-size:15px;line-height:1.65;color:var(--ink-2)}

/* Footer */
.mgg-footer{margin-top:96px;background:var(--ink);color:#EDE6EE}
.mgg-footer .wrap{padding-top:72px;padding-bottom:48px}
.foot-top{display:flex;justify-content:space-between;gap:48px}
.foot-brand{max-width:380px;display:flex;flex-direction:column;gap:16px}
.foot-brand .name{font-family:var(--serif);font-size:30px;color:#fff}
.foot-brand p{margin:0;font-size:15px;line-height:1.6;color:#CFC6D2}
.pin{display:inline-flex;align-items:center;gap:10px;width:fit-content;height:46px;padding:0 20px;border-radius:23px;border:1px solid #5A4F5E;color:#fff;font-size:15px;font-weight:600}
.pin:hover{color:#fff;border-color:#fff}
.foot-cols{display:grid;grid-template-columns:repeat(3,auto);gap:64px}
.foot-cols nav{display:flex;flex-direction:column;gap:12px;font-size:15px}
.foot-cols h2{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#A99FAD;line-height:1.4}
.foot-cols a{color:#EDE6EE}
.foot-cols a:hover{color:#fff;text-decoration:underline}
.copyright{margin-top:56px;padding-top:28px;border-top:1px solid #3C3340;font-size:13px;color:#A99FAD}

@media (min-width:641px){.mgg-header:not(.mgg-header--rows) .mgg-mobile-menu{display:none!important}}
@media (min-width:901px){.mgg-mobile-menu{display:none!important}}
@media (max-width:900px){
  .mgg-navbar{display:none}
  .mgg-header--rows .mgg-menu-toggle{display:inline-flex}
}

/* Tablet */
@media (max-width:1024px){
  :root{--pad:40px}
  .hero .wrap{grid-template-columns:1fr;padding-top:56px;padding-bottom:64px}
  .hero-art{display:none}
  .hero h1{font-size:52px}
  .pillar .wrap{grid-template-columns:1fr;gap:32px;padding-top:72px;padding-bottom:72px}
  .tool-grid,.std-grid{grid-template-columns:repeat(2,1fr)}
  .help-grid{grid-template-columns:repeat(2,1fr)}
  .guide,.author-feature{grid-template-columns:1fr;padding:40px}
  .guide .cover{padding:0}
  .book{max-width:220px}
  .author-feature img{max-width:320px}
  .foot-top{flex-direction:column}
}
/* Phone */
@media (max-width:640px){
  :root{--pad:20px}
  .mgg-nav{display:none}
  .mgg-menu-toggle{display:inline-flex}
  .mgg-header .wrap{gap:12px}
  .mgg-logo{font-size:19px;gap:6px}
  .mgg-logo svg{width:24px;height:24px}
  .header-cta{height:44px;padding:0 12px;font-size:13.5px}
  .header-actions{gap:8px}
  .hero h1{font-size:38px;letter-spacing:-.6px}
  .hero .sub{font-size:17px}
  .tagline{font-size:19px}
  .optin .row{flex-direction:column}
  .optin input{flex:none;width:100%}
  .mgg-logo{white-space:nowrap}
  .header-cta .long{display:none}
  .optin .btn{width:100%}
  h2{font-size:32px}
  .tools h2{font-size:28px}
  .guide h2,.author-feature h2{font-size:32px}
  .help-grid,.hub-grid,.tool-grid,.std-grid,.post-grid{grid-template-columns:1fr}
  .help-card span{font-size:21px}
  .popular .head{flex-direction:column;align-items:flex-start;gap:12px}
  .post-card .thumb{height:200px}
  .guide,.author-feature{padding:28px 22px;border-radius:22px}
  .care{flex-direction:column;padding:22px}
  .foot-cols{grid-template-columns:1fr 1fr;gap:32px}
  .help .wrap,.popular .wrap,.standards .wrap,.tools .wrap{padding-bottom:64px}
  .popular .wrap,.standards .wrap{padding-top:64px}
  .pillar .wrap{padding-top:56px;padding-bottom:56px}
  .author-feature{margin-top:64px}
  .mgg-footer{margin-top:64px}
}
@media (max-width:380px){
  .header-cta .mid{display:none}
  .mgg-logo{font-size:17px}
  .header-cta{padding:0 12px;font-size:13px}
  .mgg-header .wrap{gap:8px}
}
@media (max-width:340px){
  .mgg-logo{font-size:15px}
  .mgg-logo svg{width:20px;height:20px}
  .header-cta{padding:0 10px;font-size:12px}
}
